Есть ли способ, чтобы выполнить следующие действия в одном вызове:Model.objects.get() или None
Model.objects.get(id=1) else None
Единственный способ я нашел способ сделать это, выполнив:
try:
object = Model...
except:
object = None
Есть ли способ сделать это за один раз в django?
Update: Там, кажется, не быть способ сделать это другое, чем в try/except
блоке, но здесь лучше ответ: In Django, how do I objects.get, but return None when nothing is found?
Ну, кажется, вы уже решили свой вопрос , Как и дополнительный аргумент, используйте try: ... except (с использованием особых исключений), считается хорошей практикой в Python (не говоря уже о Django, который следует более или менее той же философии). –
'(Model.objects.filter (pk = 1) или [None]) [0]' менее явным, но иногда полезным. – okm
Возможный дубликат [In Django, как мне object.get, но возвращать None, когда ничего не найдено?] (Http://stackoverflow.com/questions/3090302/in-django-how-do-i-objects-get бут-возвратного ни-когда-ничего-не-найден) – congusbongus