Ich habe zwei Modelle, sagen wir mal Buch und Autor, wie folgt:Django: Wie ändert man das gleiche Feld in anderen Einträgen mit demselben Fremdschlüssel?
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
author = models.ForeignKey('Author')
latest_book = models.BooleanField(default=True)
Nun, wenn ich ein neues Buch eines Autors verknüpft erstellen, wird die „latest_book“ Feld automatisch auf True gesetzt werden, was in Ordnung ist so weit ...
Zum Beispiel, sagen wir, ich habe einen Autor mit einer Trilogie: Book1, Book2 und Book3 - Book3 ist die neueste.
Ich habe zwei Probleme: 1 - Wie das "letzte Buch" Feld von Book1 und Book2 auf falsch gesetzt, wenn Book3 gespeichert wird? 2 - Wenn Book3 gelöscht wird, wie wird das Feld "latest_book" von Book2 auf "true" gesetzt?
Auch ich habe eine Methode vorher verwendet, aber das Problem war, dass ich nicht list_filter von BookAdmin verwenden konnte, um nur die neuesten Bücher aller Autoren anzuzeigen, da ich nie gefunden habe, wie list_filter auf Methodenergebnisse ... Und ich muss diese Filterung tun, so versuche ich jetzt mit dem Modellfeld
Haben Sie ** Signal ** oder ** DateTimeField ** anstelle von BooleanField versucht? – trantu
Was passiert, wenn ein Autor zwei Bücher gleichzeitig veröffentlicht? – Sayse
Ich bin neu in Django und habe nie ** Signal ** benutzt. Ich verwende bereits ein ** DateTimeField ** für das published_date, aber ich würde gerne ein BooleanField als Flag zusätzlich verwenden ... – Gerald