【发布时间】:2018-09-30 14:02:29
【问题描述】:
创建表单时如何重用模型字段验证器。我不能使用 ModelForm,因为表单只使用了模型的部分字段,而且我还有其他表单字段。
小例子
我有一个长度始终为 32 个字符的(加密)密钥模型,我想在模型和接受该密钥的表单中使用此限制。
models.py
class EncryptionKey(models.Model)
key = models.CharField("Encryption Key", max_length=32, validators=[validators.MinLengthValidator(32)])
forms.py
class NewUserForm(forms.Form):
first_name = forms.CharField(label='First Name', required=True, max_length=256)
last_name = forms.CharField(label='Last Name', required=True, max_length=256)
key = # How do I reuse the key from the model here?
我正在寻找一种在 Django 2.1 中执行此操作的惯用方式。
我花了 20 分钟在谷歌上搜索,但我发现的只是如何使用 ModelForm。
【问题讨论】:
标签: django python-3.x