gpt4 book ai didi

python - 避免 Django ModelForm 和 Django Model 之间的重复

转载 作者:太空宇宙 更新时间:2023-11-04 05:14:00 25 4
gpt4 key购买 nike

我感兴趣的是有没有一种方法可以避免 Django ModelForm 和 Django Model 之间的重复。例如。我有这个最简单的模型:

class Category(models.Model):
name = models.CharField(max_length=128)

和对应的ModelForm

class CategoryForm(forms.ModelForm):
name = models.CharField(max_length=128)
class Meta:
model = Category
fields = ('name',)

正如我们所见,这些实体之间存在重复。这段代码

max_length=128

- 这是否违反了“不要重复自己”的原则?
如果违反了,我们如何避免这种代码重复?

最佳答案

但在您的情况下,您不必再在表单中指定 name 字段。

您正在使用 ModelForm,因此在 Meta 中只需定义模型,它引用此表单和应在表单中使用的字段。 Django 将为您获取小部件并构建表单。

这就够了

class CategoryForm(forms.ModelForm):
class Meta:
model = Category
fields = ('name',)

关于python - 避免 Django ModelForm 和 Django Model 之间的重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42238001/

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