Hen*_*nri 11 forms django models
我有一个模特
class Article(models.Model):
.
.
language = models.ForeignKey(Language, help_text="Select the article's language")
parent_article = models.ForeignKey('self', null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)
如果文章是原始文章,那么'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
.
.
Run Code Online (Sandbox Code Playgroud)
现在,当我应用所有这些似乎工作正常,但当我没有选择'父文章'时,我在管理员中收到一条错误消息,声明"此字段是必需的",即使模型说:"null = True,Blank =真".
当我不使用自定义表格时,即发酵声明
class ArticleAdmin(admin.ModelAdmin):
# form = ArticleAdminForm
.
.
Run Code Online (Sandbox Code Playgroud)
一切都运转,除了现在我有很多选择.在"ModelChoicesField"的文档中,您可以阅读短语"请注意,如果需要ModelChoiceField ......",这意味着不需要ModelChoiceField.
知道怎么处理这个吗?
Mar*_*vin 26
如果要覆盖表单,则需要将字段设置为不需要的字段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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5512 次 |
最近记录: |