How do I get the object if it exists, or None if it does not exist?

后端 未结 19 1508
清酒与你
清酒与你 2020-11-28 01:14

When I ask the model manager to get an object, it raises DoesNotExist when there is no matching object.

go = Content.objects.get(name=\"baby\")
         


        
19条回答
  •  抹茶落季
    2020-11-28 01:36

    I think it isn't bad idea to use get_object_or_404()

    from django.shortcuts import get_object_or_404
    
    def my_view(request):
        my_object = get_object_or_404(MyModel, pk=1)
    

    This example is equivalent to:

    from django.http import Http404
    
    def my_view(request):
        try:
            my_object = MyModel.objects.get(pk=1)
        except MyModel.DoesNotExist:
            raise Http404("No MyModel matches the given query.")
    

    You can read more about get_object_or_404() in django online documentation.

提交回复
热议问题