In Django, queryset provides a method called get_or_create that either returns an objects or creates an object.

However, like the get method, get_or_create can throw an exception if the query returns multiple objects.

Is there an method to do this elegantly:

objects = Model.manager.filter(params)
if len(objects) == 0:
   obj = Model.objects.create(params)
else:
   obj = objects[0]
Edit
Report