Django objects.get()

TIM*_*MEX 3 python django

如果没有任何东西与get相匹配怎么办?然后它返回一个错误.

怎么说:如果有,否则,什么都不返回.

Ror*_*art 7

您可以创建这样的快捷方式(基于get_object_or_404):

from django.shortcuts import _get_queryset

def get_object_or_none(klass, *args, **kwargs):
  queryset = _get_queryset(klass)
  try:
    return queryset.get(*args, **kwargs)
  except queryset.model.DoesNotExist:
    return None
Run Code Online (Sandbox Code Playgroud)

不知道为什么这个快捷方式不存在(或许有更多django可以解释),因为它是我不时使用的一个相当有用的快捷方式.