多くの場合、自分自身がオブジェクトに対してフィルタリングを行い、見つからなければNone
を返します。私は、通常、このような何かのオブジェクトをフィルタリングする場合しかし、私はこれを行う方法はDjangoでフィルタリングしてオブジェクトが存在するかどうかを確認するより良い方法
(コードの行の面で)本当に非効率です:
person = Person.objects.filter(id=id)
if person:
person = Person.objects.get(id=id)
else:
person = None
をこれを行うには良い方法はあります?
私は私の最後に混乱を明確にするために編集しました。 フィルタクエリは、存在する場合は常に1つのオブジェクトを返す必要があります。
'? – roganjosh
または、合体演算子 'person = Person.objects.filter(name = name)またはNone'? 'Person.objects.filter(name = name)'が偽である場合、これはデフォルトで 'person = None'になります。 – roganjosh
なぜif文でフィルターを繰り返すのか分かりません。 –