是否有任何 Django 函数可以让我从数据库中获取对象,或者如果没有匹配则没有?
现在我正在使用类似的东西:
foo = Foo.objects.filter(bar=baz)
foo = len(foo) > 0 and foo.get() or None
但这不是很清楚,而且到处都有,很乱。
有两种方法可以做到这一点;
try:
foo = Foo.objects.get(bar=baz)
except model.DoesNotExist:
foo = None
或者您可以使用包装器:
def get_or_none(model, *args, **kwargs):
try:
return model.objects.get(*args, **kwargs)
except model.DoesNotExist:
return None
像这样称呼它
foo = get_or_none(Foo, baz=bar)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)