In meiner Django-Anwendung habe ich ein Modell, X. Es hat ein verwandtes/Hilfsmodell Y, das einige zusätzliche Informationen darüber enthält. Instanzen von Y sind an ihre Xs mit einer ForeignKey
gebunden (das heißt, Y
enthält eine models.ForeignKey(X)
).Zeige nur ein Inline-Objekt "Objekt hinzufügen", wenn keine Objekte existieren
Ich habe auch diesen Code in meinem admin.py
:
class YInline(admin.TabularInline):
model = Y
extra = 1
Dies funktioniert gut, aber das Inline-Feld ein neues Y für das Hinzufügen ist immer angezeigt: Wenn das Hinzufügen eines neuen X, und bei der Bearbeitung eines vorhandenen X, an das bereits einige Ys gebunden sind. Ich möchte das Feld nur anzeigen, wenn X noch keine Ys hat (entweder weil es erstellt wurde oder weil ihm vorher keine Ys zugewiesen wurden). Wenn wir ein X bearbeiten, das bereits einige Ys enthält, sollte das Inline nicht angezeigt werden. Der Benutzer wird die Schaltfläche "Ein weiteres Y hinzufügen" verwenden, wenn er eine hinzufügen möchte.
Wie kann ich das erreichen? Ich benutze die neueste stabile Version von Django, 1.10 zum Zeitpunkt des Schreibens.
Hat die unten Antwort für Ihren Fall gearbeitet? –