mirror of
https://github.com/jazzband/django-avatar.git
synced 2026-03-16 22:20:30 +00:00
* Add Avatar API support * extend rest_framework to INSTALLED_APPS * add api path to urls * add requirements.txt to api app * add self describe to assign_width_or_height function * add django-avatar api docs * remove unused files * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Johannes Wilm <mail@johanneswilm.org>
27 lines
905 B
Python
27 lines
905 B
Python
from django.shortcuts import _get_queryset
|
|
|
|
|
|
def get_object_or_none(klass, *args, **kwargs):
|
|
"""
|
|
Use get() to return an object, or return None if the object
|
|
does not exist.
|
|
|
|
klass may be a Model, Manager, or QuerySet object. All other passed
|
|
arguments and keyword arguments are used in the get() query.
|
|
|
|
Like with QuerySet.get(), MultipleObjectsReturned is raised if more than
|
|
one object is found.
|
|
"""
|
|
queryset = _get_queryset(klass)
|
|
if not hasattr(queryset, "get"):
|
|
klass__name = (
|
|
klass.__name__ if isinstance(klass, type) else klass.__class__.__name__
|
|
)
|
|
raise ValueError(
|
|
"First argument to get_object_or_404() must be a Model, Manager, "
|
|
"or QuerySet, not '%s'." % klass__name
|
|
)
|
|
try:
|
|
return queryset.get(*args, **kwargs)
|
|
except queryset.model.DoesNotExist:
|
|
return None
|