On Mon, Oct 15, 2012 at 1:42 PM, Anssi Kääriäinen <anssi.kaariai...@thl.fi> wrote: > On 10/15/2012 03:13 PM, Ole Laursen wrote: > > On Friday, October 12, 2012 3:35:53 PM UTC+2, Chris Wilson wrote: >> >> I'm strongly in favour of a simple, obvious way to do the common thing, >> which is to return None if the object doesn't exist, instead of throwing >> an exception. My preferred method names would be .nget(), .get_or_none() >> or .first(). > > > IMHO the fact that we have all these inventive solutions is ample proof that > people do come across this problem and find it annoying. I just found out > today that there's a somewhat related .latest(). > > Anyway, without a sponsor with commit access I guess this is dead, so I'll > shut up now. Thank you for your time. > > For the record, I still do like this idea, specifically .get_or_none(). > > It seems there is significant support for this idea. I do think this method > is Pythonic. There are cases where no match from get() isn't exceptional, > and in such cases try-except just feels wrong. > > The counter argument is that this is API bloat, and this will set an example > for more API bloat. > > In the end this is a decision with almost no technical considerations and a > lot of "good taste" considerations. So, this seems like BDFL area. > > If there are no signs from BDFL that .get_or_none() is acceptable, then lets > bury this one. If it is acceptable, then I am willing to do all the work to > get this committed. > > - Anssi
Where would this method live? On the queryset/manager? I'm not convinced it should be there, since it's a utility method. My personal ideal would be a new django.shortcuts.get_object_or_none shortcut function, as I can see using this as an analogue to get_object_or_404, but I have a feeling shortcuts is not intended to grow. Cheers Tom -- You received this message because you are subscribed to the Google Groups "Django developers" group. 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.