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\")
From django 1.7 onwards you can do like:
class MyQuerySet(models.QuerySet):
def get_or_none(self, **kwargs):
try:
return self.get(**kwargs)
except self.model.DoesNotExist:
return None
class MyBaseModel(models.Model):
objects = MyQuerySet.as_manager()
class MyModel(MyBaseModel):
...
class AnotherMyModel(MyBaseModel):
...
The advantage of "MyQuerySet.as_manager()" is that both of the following will work:
MyModel.objects.filter(...).get_or_none()
MyModel.objects.get_or_none()