gpt4 book ai didi

django - 总是需要 ModelChoiceField 吗?

转载 作者:行者123 更新时间:2023-12-04 01:34:13 25 4
gpt4 key购买 nike

我有一个模型

class Article(models.Model):
.
.
language = models.ForeignKey(Language, help_text="Select the article's language")
parent_article = models.ForeignKey('self', null=True, blank=True)

如果文章是原创文章,则“parent_article=None”。如果文章是翻译,则 'parent_article' <> 无。

所以我创建了:
class ArticleAdminForm(forms.ModelForm):
.
.
parent_article = forms.ModelChoiceField(queryset=AyurvedicArticle.objects.filter(parent_article=None), help_text="Select the parent article (if any)")

class Meta:
Article

class ArticleAdmin(admin.ModelAdmin):
form = ArticleAdminForm
.
.

现在,当我应用所有这些时,它似乎工作正常,但是当我不选择“父文章”时,我在管理员中收到一条错误消息,指出“此字段是必需的”,即使模型说:“null=True, Blank = 真”。

当我不使用自定义表格时,即发酵声明
class ArticleAdmin(admin.ModelAdmin):
# form = ArticleAdminForm
.
.

然后一切正常,除了现在我有很多选择。在“ModelChoicesField”的文档中,您可以阅读“注意,如果需要 ModelChoiceField ......”这意味着不需要需要 ModelChoiceField。

知道如何处理这个问题吗?

最佳答案

如果您要覆盖表单,您需要在 ArticleAdminForm 中将该字段设置为不需要的。 .

class ArticleAdminForm(forms.ModelForm):
.
.
parent_article = forms.ModelChoiceField(
queryset=AyurvedicArticle.objects.filter(parent_article=None),
required=False,
help_text="Select the parent article (if any)"
)

class Meta:
Article

关于django - 总是需要 ModelChoiceField 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2623325/

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