sup*_*rio 0 django django-models
我做了一个包含如下字段的表单:
sex = forms.ChoiceField(choices= SEX)
Run Code Online (Sandbox Code Playgroud)
哪里:
SEX = (
('F','Female'),
('M','Male'),
('U','Unsure'),
)
Run Code Online (Sandbox Code Playgroud)
现在我想知道如何最好地定义性别模型?我知道可以这样做:
class UserProfile(models.Model):
user = models.ForeignKey('User')
sex = models.CharField(max_length=10)
Run Code Online (Sandbox Code Playgroud)
但是,没有比CharField更好的选择了吗?
您已经将选择设置为字符串,因此它应该CharField(max_length=1, choices=SEX)在模型中。然后,您可以使用ModelForm而不是以单独的形式重复所有逻辑。例如:
# models.py
class MyModel(models.Model):
SEX_CHOICES = (
('F', 'Female',),
('M', 'Male',),
('U', 'Unsure',),
)
sex = models.CharField(
max_length=1,
choices=SEX_CHOICES,
)
# forms.py
class MyForm(forms.MyForm):
class Meta:
model = MyModel
fields = ['sex',]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2453 次 |
| 最近记录: |