gpt4 book ai didi

Django:模型 maxlength 和形式 maxlength

转载 作者:行者123 更新时间:2023-12-01 09:36:55 25 4
gpt4 key购买 nike

我需要以某种方式将模型的 max_length 约束 Hook 到 Form 对象中。

假设我定义了一个带有字段的模型:name = models.CharField(max_length=30)现在我定义了一个具有相同字段的 Form 对象:name = forms.CharField(max_length=30)
问题是,有没有办法让两者同步?如果我先定义一个模型,我可以定义max_length吗?基于我对 Model 类所做的 Form 类?

最佳答案

如果您有一个与模型直接相关的表单,则使用 ModelForm 是有意义的。

从模型中获取 max_length 属性的另一种方法是使用 _meta模型的属性如下:

>>> SomeModel._meta.get_field('some_field').max_length
64
>>>

所以:
from models import *

class MyForm(forms.Form):
some_field = forms.CharField(label='Some Field',
max_length=SomeModel._meta.get_field('some_field').max_length)

CharField docs

关于Django:模型 maxlength 和形式 maxlength,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922132/

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