Ich verwende djangos Inline-Formset-Factory. Um das Beispiel in den Dokumenten zu verwenden,
%Vor%erstellt ein Inline-Formset zum Bearbeiten von Büchern durch einen bestimmten Autor.
Ich möchte ein Formularset erstellen, mit dem Benutzer nur neue Bücher von diesem Autor hinzufügen, nicht aber vorhandene Bücher bearbeiten können. Gibt es eine einfache Möglichkeit, inlineformset_factory dazu zu verwenden?
inlineformset_factory verwendet ein Formset kwarg, das standardmäßig BaseInlineFormSet verwendet. BaseInlineFormSet-Unterklassen BaseModelFormSet, das eine get_queryset-Methode definiert. Wenn Sie eine BaseInlineFormSet-Unterklasse erstellen und get_queryset überschreiben, um EmptyQuerySet () zurückzugeben, sollten Sie das bekommen, wonach Sie suchen. Im obigen Beispiel würde es dann so aussehen:
%Vor%Basierend auf Jeremy Lewis und wenn Sie BaseInlineFormSet nicht ableiten möchten, können Sie Ihrem BookFormSet einfach einen leeren queryset-Parameter geben.
Siehe Pseudo (ungetestet) Django 1.6 Codebeispiel:
%Vor%Die Antwort finden Sie in der Dokumentation . Geben Sie dem FormSet keine Instanz. Aus dem Dokument:
%Vor%Sie können die Ansicht dann wie folgt erstellen:
%Vor%Ich hoffe, es hilft.
Tags und Links django django-forms