Hi all,

On Thu, 11 Oct 2012, Daniel Moisset wrote:

obj, = SomeModel.objects.filter(foo='bar') or [None]

Daniel's solution is elegant, but far from clear or clean.

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().

May I invoke the Zen of Python to add more than +1 to votes for this change? (not that my vote counts anyway, of course :)

+1      Beautiful is better than ugly.
+1      Explicit is better than implicit.
+1      Simple is better than complex.
+1      Flat is better than nested.
+1      Readability counts.
-1      Special cases aren't special enough to break the rules.
+1      Although practicality beats purity.
+1      There should be one-- and preferably only one --obvious way to do
        it.
+1      Now is better than never. :)
+1      If the implementation is hard to explain, it's a bad idea. (the
        alternative one-liner proposed by Daniel is hard to explain)
+1      If the implementation is easy to explain, it may be a good idea.

+9      Total

Cheers, Chris.
--
Aptivate | http://www.aptivate.org | Phone: +44 1223 967 838
Future Business, Cam City FC, Milton Rd, Cambridge, CB4 1UY, UK

Aptivate is a not-for-profit company registered in England and Wales
with company number 04980791.

--
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.

Reply via email to