Was ist der richtige Weg zu überprüfen, ob ein Objekt in einer ohne 404 Rückkehr django Ansicht existiert?
-
11-07-2019 - |
Frage
ich brauche, um zu überprüfen, ob ein Objekt vorhanden ist, und schicken Sie das Objekt, dann auf der Basis dieser Aktionen durchführen. Was ist der richtige Weg, es zu tun, ohne eine 404-Rückkehr?
try:
listing = RealEstateListing.objects.get(slug_url = slug)
except:
listing = None
if listing:
Lösung
Ich würde nicht den 404-Wrapper verwenden, wenn Sie keine 404. gegeben werden, dass der Missbrauch von Absicht ist. Nur fängt den doesNotExist statt.
try:
listing = RealEstateListing.objects.get(slug_url=slug)
except RealEstateListing.DoesNotExist:
listing = None
Andere Tipps
Sie können auch tun:
if not RealEstateListing.objects.filter(slug_url=slug).exists():
# do stuff...
Manchmal ist es klar try: except:
Block und andere Zeiten Einzeiler exists()
macht den Code suchen klarer ... alles hängt von der Anwendungslogik zu verwenden.
listing = RealEstateListing.objects.filter(slug_url=slug).first()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow