In meinem Django-Projekt, ich habe eine is_active
boolean Spalte in jeder Tabelle meiner Datenbank. Jedes Mal, wenn ich oder das Framework auf die Datenbank zugreife, möchte ich nur die aktiven Datensätze anzeigen. Was ist der Standardweg, um dies zu erreichen? Sicherlich möchte ich nicht bei allen Fragen, die ich mache, nach is_active
suchen.Auswahl nur aktive Datensätze django Abfrage
0
A
Antwort
2
Der einfachste Weg, dies zu tun, ist ein benutzerdefiniertes Modell-Manager zu erstellen, wie folgt aus:
class OnlyActiveManager(models.Manager):
def get_queryset(self):
return super(OnlyActiveManager, self).get_queryset().filter(is_active=True)
Dann fügen Sie Ihre Modelle:
class MyModel(models.Model):
objects = models.Manager()
active = OnlyActiveManager()
Als nächstes verwenden Sie es wie folgt:
foo = MyModel.active.all()
Sie können es auch verwenden, um die Standard-Manager zu ersetzen (so genannten objects
), aber dann werden Sie benutzerdefinierte Abfragen tun müssen, um alle Datensätze zu erhalten, die in-aktiv ist.
0
Sie können es durch django Modell-Manager verwenden.
überprüfen Sie bitte django documentaion zum Detail django documentaion
0
Sie können eine Manager-Klasse für Ihr Modell, ein Beispielmodell-Manager weiter unten schreiben, für mehr Sie Django offiziellen Website verweisen
class MediaManager(models.Manager):
def get_queryset(self):
return MediaQuerySet(self.model, using=self._db)
def active(self):
return self.filter(is_active=True)
class Media(models.Model):
(..model fields..)
objects = MediaManager()
Die Abfrage sollte wie
seinmedia = Media.objects.active()
Verwandte Themen
- 1. jpa schreibgeschützt aktive Datensätze
- 2. Wie schreibe ich MYSQL-Abfrage! = In Codeigniter Aktive Datensätze?
- 3. eine aktive Datensätze Array speichern
- 4. Django Abfrage Gruppe Datensätze mit erstellt Feld
- 5. Django Auswahl Wert in lazy Abfrage
- 6. Auswahl Datensätze von nur mit beiden Kriterien begrenzt erfüllt
- 7. Auswahl nur gewünschte firleds aus Abfrage
- 8. rekursive Abfrage - Nur ausgewählte Knoten, an denen Blattknoten aktive Daten
- 9. sql Abfrage Auswahl
- 10. Auswahl und Anzeige nur doppelte Datensätze in mysql
- 11. Codeigniter aktive Datensätze mit 4 Tabelle
- 12. Wie die aktive Datensatz Abfrage
- 13. Auswahl/aktive Klasse zum Anzeigen/Verbergen divs
- 14. Dynamische Bootstrap "aktive" Auswahl für die Seiten
- 15. Abfrage AD für aktive Benutzer
- 16. mySQL Auswahl Datensätze innerhalb des nächsten Monats
- 17. Django, Auswahl Optionsfeld
- 18. Oracle Update-Abfrage mit Auswahl
- 19. Django Raw SQL-Abfrage gibt die heutigen Datensätze nicht zurück
- 20. Django admin: zeigen Datensätze für entsprechende Benutzer nur
- 21. Auswahl bestimmter Felder mit select_related in Django
- 22. TYPO3 Extbase - Abfrage nur Datensätze innerhalb eines bestimmten UI-Bereichs
- 23. mySQL-Abfrage nur die Datensätze in der linken Tabelle abrufen
- 24. SQL-Gruppe nach Abfrage, um nur aktivierte Datensätze zu finden
- 25. SQL-Abfrage Rückgabe nur 5 Datensätze anstelle von 6 Zeilen
- 26. Aktive Django-Einstellungsdatei von Sellerie-Arbeiter
- 27. UPDATE Abfrage duplizierte Datensätze
- 28. Auswahl verwandte Objekte in django
- 29. Django Druck Auswahl Wert
- 30. MySql: Abfrage gibt nur die erste Zeile aus der Auswahl
Nutzungsmodell Manager – Thameem