Wenn ich den Modellmanager auffordern, ein Objekt abzurufen, wird DoesNotExist
ausgelöst, wenn kein passendes Objekt vorhanden ist.Wie bekomme ich das Objekt, wenn es existiert, oder None, wenn es nicht existiert?
go = Content.objects.get(name="baby")
Statt DoesNotExist
, wie kann ich go
statt None
sein?
+1 für das Abfangen der spezifischen Ausnahme. –
Nette Verwendung von SomeModel.DoesNotExist, anstatt die Ausnahme auch zu importieren. – Symmitchry
Diese Lösung ist vier Zeilen lang. Für mich ist das zu viel. Mit django 1.6 können Sie 'SomeModel.objects.filter (foo = 'bar') verwenden. First()' gibt die erste Übereinstimmung oder None zurück. Es schlägt nicht fehl, wenn es mehrere Instanzen wie 'querieset.get()' gibt. – guettli