A common idiom is also
```
try:
foo = Foo.objects.get(x="foo")
except Foo.DoesNotExist:
foo = None
```
which is pretty pythonic IMO, but I wouldn't be opposed to a keyword-only
argument on `get` that returns `None` if not found
```
foo = Foo.objects.get(x="foo", strict=False)
# or
foo = Foo.objects.get(x="foo", raises=False)
```
As it stands your current proposal isn't much different from filter() then
first(), IMO, the method names change but the amount of chaining is the
same.
On Monday, June 20, 2022 at 9:34:08 PM UTC+2 [email protected] wrote:
> It is a common idiom to use `<queryset>.filter(<...>).first()` as a
> replacement for `.get(<...>)` when `None` is wanted instead of an exception
> when no match is found. That works, but wouldn't the intention be more
> clear if that could be written as something like
>
> <queryset>.checked(False).get(<...>)
>
--
You received this message because you are subscribed to the Google Groups
"Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-developers/eb6a2bc2-b72f-49ff-9e90-12913ad876c9n%40googlegroups.com.