gpt4 book ai didi

django - 使用 Django LocalFlavor Zip 作为模型字段

转载 作者:行者123 更新时间:2023-12-02 07:17:22 27 4
gpt4 key购买 nike

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

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

我正在尝试使用 US Zip Codes Field form widget/validator 获得最终结果仅使用修改 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 项目可以添加它),因此自定义模型字段不会添加任何内容。验证在表单级别进行,这就是为什么有自定义表单字段。

关于django - 使用 Django LocalFlavor Zip 作为模型字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1185573/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com