使用 Django LocalFlavor Zip 作为模型字段

2024-05-14

实施以下内容的最佳方法是什么:

### 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

我正在尝试获得最终结果以使用美国邮政编码字段表单小部件/验证器 http://docs.djangoproject.com/en/dev/ref/contrib/localflavor/#django.contrib.localflavor.us.forms.USZipCodeField仅使用修改 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()

注意:完成它的最佳方法可能是在 forms.py 文件中,如上所示...如果是这种情况,我想我错过了将其放置在那里而不是作为自定义的参数/好处模型字段(例如,DRY?,松散耦合?)任何有助于更好地理解在这种情况下 forms.py 相对于 models.py 的好处的帮助将不胜感激。

提前致谢! -汤姆


邮政编码只是一串数字/字母,因此无需定义自定义字段来将其存储在数据库中。目前 Django 中没有模型级验证(尽管有一个 Google Summer of Code 项目可以添加它),因此自定义模型字段不会添加任何内容。验证是在表单级别进行的,这就是为什么有自定义表单字段的原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Django LocalFlavor Zip 作为模型字段 的相关文章

随机推荐