django-inline - Suche nach vorhandenem Datensatz, anstatt einen neuen hinzuzufügen

Ich habe eine Bibliothek mit Regalen und Büchern. Ich zeige jedes Buch in einer Eins-zu-Viele-Beziehung auf ein Regal. Wenn ein Buch auf a zeigtNull es bedeutet, dass es in der Bibliothek ist, aber noch nicht im Regal.

#models.py

class Shelf(models.Model):
    pass

class Book(models.Model):
    shelf = models.ForeignKey(Shelf, blank=True, null=True)

Dann:

#admin.py

class BookInLine(admin.TabularInLine):
    model = Book
    extra = 0

class Shelf(admin.ModelAdmin):
    inlines = [ BookInLine, ]

Wenn ich das Regal bearbeite, kann ich alle Bücher in diesem Regal sehen und ändern.

Problem:

Ich habe bereits eine Menge Bücher in der Bibliothek (zeigt aufNull).Wenn ich in der Inline auf "Ein weiteres Buch hinzufügen" klicke, wird ein völlig neues Buch erstellt. Aber das möchte ich vermeiden. Ich möchte aus den Büchern auswählen, die sich bereits in der Bibliothek befinden, aber noch keinem Regal angehören.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage