回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我需要对我在Django的表单a执行一个CRUD操作,但我不知道如何实现这一点。我的意思是有不同的情况和方法,我在寻找什么。你知道吗</p>
<p>考虑以下形式:</p>
<pre><code>class UsuarioFidetel(models.Model):
"""
Modelo de usuario fidetel
"""
usuario = models.CharField(max_length=30)
id_usuario = models.IntegerField()
nombre = models.CharField(max_length=255, null=True)
apellido = models.CharField(max_length=255, null=True)
tipo_cedula = models.CharField(max_length=1, null=True)
cedula = models.CharField(max_length=9, null=True)
fecha_nacimiento = models.DateField(null=True, blank=True)
sexo = models.CharField(max_length=1, null=True)
correo = models.EmailField(max_length=254, null=True)
estado_civil = models.CharField(max_length=1, null=True)
def __unicode__(self):
return self.nombre
</code></pre>
<p>db上有几个用户存储了这些字段。现在,我需要从一个不同的窗体中查询这个,并显示用户的数据,甚至编辑这个数据/用户。你知道吗</p>
<p>我已经穿上了型号.py,模板上的所有内容都正常,但我需要进行此查询,我知道我应该使用以下内容:</p>
<pre><code>usuarios = UsuarioFidetel.objects.all().order_by("nombre").values('nombre')
</code></pre>
<p>但是我对如何实现这个很困惑,或者我应该使用<code>queryset</code>?你知道吗</p>
<p>任何例子或想法都是受欢迎的。你知道吗</p>
<p>提前谢谢!你知道吗</p>
<p><strong>更新</p>
<p>我的表单.py地址:</p>
<pre><code>class FormularioUsuarioFidetel(FormularioPersona):
"""
Clase que contiene el formulario que permite ingresar y modificar los
datos del usuario de fidetel
"""
usuariofide = forms.CharField()
sexo = ChoiceField(required=True,
choices=SEXO_OPCIONES,
error_messages={'required': 'El Sexo es un campo obligatorio'})
estado_civil = ChoiceField(required=True,
choices=ESTADO_CIVIL_OPCIONES,
error_messages={'required': 'El Estado Civil es un campo obligatorio'})
class Meta:
model = UsuarioFidetel
fields = ('nombre', 'apellido', 'tipo_cedula', 'cedula', 'correo', 'sexo', 'estado_civil', 'fecha_nacimiento')
def __init__(self, *args, **kwargs):
super(FormularioUsuarioFidetel, self).__init__(*args, **kwargs)
self.fields['fecha_nacimiento'].widget.attrs = {'style':'width: 90px',
'maxlength':'10'}
self.fields['fecha_nacimiento'].required = True
self.fields['fecha_nacimiento'].error_messages = {'required': 'La Fecha de Nacimiento es un campo obligatorio'}
def clean_fecha_nacimiento(self):
"""
Método que valida que la fecha de nacimiento no sea posterior a la fecha
actual
@return: Un mensaje de error si la fecha de nacimiento es posterior a la
fecha actual
"""
fecha_nacimiento = str(self.cleaned_data['fecha_nacimiento'])
if fecha_nacimiento > str(datetime.datetime.now().date()):
raise forms.ValidationError(u"La fecha de nacimiento no puede ser posterior a la fecha actual")
return self.cleaned_data['fecha_nacimiento']
</code></pre>
<p>我的视图.py你知道吗</p>
<pre><code>def consultar_usuario_fidetel(request):
"""
Muestra el formulario de consulta de datos del usuario de fidetel
@return: El formulario de consulta de datos del usuario de fidetel
"""
usuario_fidetel = request.session['usuario_fidetel']
if(not usuario_fidetel.tipo_cedula):
return render_to_response('fidetel/inicio.html',
{ },
context_instance=RequestContext(request))
sexo = dict(SEXO_OPCIONES)[usuario_fidetel.sexo]
estado_civil = dict(ESTADO_CIVIL_OPCIONES)[usuario_fidetel.estado_civil]
return render_to_response('fidetel/consultar_usuario_fidetel.html',
{ 'usuario_fidetel': usuario_fidetel,
'sexo': sexo,
'estado_civil': estado_civil },
context_instance=RequestContext(request))
@autenticacion_fidetel_requerida
@permiso_requerido([PERMISOS_FONDO['MODIFICAR_USUARIO_FIDETEL']])
</code></pre>
<p>让我更好地解释一下我自己,通过这个表单和视图,我可以编辑登录到webapp的用户的数据,现在,我需要的是,将所有从model<code>UsuarioFidetel</code>存储的用户加载到db中,不管谁登录到应用程序,可能是按它的名称或其他方式搜索。。。你知道吗</p>
<p>如果你需要进一步的解释,请告诉我,谢谢。你知道吗</p>