Ich habe ein Modellist ein ModelChoiceField immer erforderlich?
class Article(models.Model):
.
.
language = models.ForeignKey(Language, help_text="Select the article's language")
parent_article = models.ForeignKey('self', null=True, blank=True)
Wenn ein Artikel ein Original-Artikel ist dann 'parent_article = None'. Wenn ein Artikel eine Übersetzung ist, dann 'parent_article' <> Keine.
Also habe ich:
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
.
.
Wenn ich jetzt gelten diese alle es scheint gut zu funktionieren, aber wenn ich nicht über eine ‚Eltern Artikel‘ wählen erhalte ich eine Fehlermeldung in Admin Angabe „Dieses Feld ist erforderlich ", obwohl das Modell sagt:" null = True, Blank = True ".
Wenn ich die personalisierte Dienste nicht, das heißt die Aussage
class ArticleAdmin(admin.ModelAdmin):
# form = ArticleAdminForm
.
.
dann alles funktioniert Sauerteig aus, außer ich jetzt zu viele Möglichkeiten bekommen. In der Dokumentation von "ModelChoicesField" können Sie eine Phrase "Beachten Sie, dass, wenn ein ModelChoiceField erforderlich ist ..." impliziert ein ModelChoiceField muss nicht erforderlich sein.
Irgendeine Idee, wie man damit umgeht?
Hervorheben des Punktes: Wenn Sie ein Feld überschreiben, überschreiben Sie * all * seine Attribute, einschließlich, ob es erforderlich ist oder nicht. –
Vielen Dank für die Erklärung. Eigentlich wusste ich, dass es etwas mit dem "Erforderlich = Falsch" zu tun hatte, aber ich hatte die Syntax falsch. – Henri