On Tuesday, October 9, 2012 7:15:55 PM UTC+2, ptone wrote:
>
> Earlier discussion
>
> https://groups.google.com/forum/?fromgroups=#!topic/django-developers/Saa5nbzqQ2Q
>

This was the thread I referred to. If was from 2006 and ended up being 
about something else.
 

> tickets:
>
https://code.djangoproject.com/ticket/17546
>

Closed as dupe with no further analysis.
 

> https://code.djangoproject.com/ticket/2659
>

This is about a different API which is a bit more cumbersome. And it was 
closed 6 years ago with a - "this could be feature creep".
 

> https://code.djangoproject.com/ticket/11352
>

This is a different proposal.


Just to expand slightly on my proposal - I don't actually want to get 
anything else than None out of get. I just want something that makes 
intuitive sense to a Python programmer and saves me from the annoying 
try-except pattern or the related:

    objs = SomeClass.objects.filter(slug="xyz")
    obj = None
    if objs:
        obj = objs[0]

which I often end up shortening as

    obj = SomeClass.objects.filter(slug="xyz")
    if obj:
        obj = obj[0]

You can't get a zero or one objects out of the ORM elegantly, something I 
find I have to do relatively often in some code bases. I don't consider 
try-except intuitive for a situation where the exception case isn't 
exceptional.

default=None makes sense when you are used to dicts, .first() or 
.get_or_none() or .getnone() or .single() would be fine too.


Ole

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-developers/-/r8vZ2A9tIkgJ.
To post to this group, send email to django-developers@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to