Tom*_*tes 5 django django-models django-forms
实现以下内容的最佳方法是什么:
### models.py
>>> from django.db import models
>>> from django.contrib.auth.models import User
# Create the client class.
>>> class Client(models.Model):
... user = models.OntToOneField(User)
... zip = ***???***()
### forms.py
>>> from django.forms import ModelForm
# Create the form class.
>>> class ArticleForm(ModelForm):
... class Meta:
... model = Client
Run Code Online (Sandbox Code Playgroud)
我试图让最终结果使用美国邮政编码字段窗体小部件/验证器只使用models.py文件修改...也就是说我不想做以下事情:
### forms.py
>>> from django.forms import ModelForm
>>> from django.contrib.localflavor.us.forms import USZipCodeField
# Create the form class.
>>> class ArticleForm(ModelForm):
... class Meta:
... model = Client
... zip = USZipCodeField()
Run Code Online (Sandbox Code Playgroud)
注意:可能是完成它的最佳方法是在forms.py文件中,如上所示...如果是这种情况,我想我错过了将它放在那里而不是作为自定义的参数/好处模型字段(例如,DRY?,松散耦合?)在这种情况下,有助于更好地理解forms.py优于models.py的任何帮助都将非常感激.
提前致谢!-Tom
邮政编码只是一串数字/字母,因此无需定义用于将其存储在数据库中的自定义字段.目前Django中没有模型级验证(虽然有一个Google Summer of Code项目可以添加它),因此自定义模型字段不会添加任何内容.验证来自表单级别,这就是为什么有一个自定义表单字段.
| 归档时间: |
|
| 查看次数: |
3308 次 |
| 最近记录: |