Phlip a écrit :
Back to the topic, I tend to do this:

  for record in Model.objects.filter(pk=42):
     return record

  return sentinel

WTF alert here...

Having lots of short methods helps, because return provides both
control-flow and a result value. But it abuses 'for' to mean 'if'. I
feel _reeeeally_ guilty about that!

But I miss this, from (cough) RoR:

  record = Model.find(42) || sentinel

Django should provide this:

  record = Model.objects.get(pk=42, _if_does_not_exist=sentinel)

queryset.get can be used with multiple conditions - it's not necessarily restricted to pk lookups. However you name your "_if_does_not_exist" kwarg, it will be difficult to garantee that there will never be no nameclash with any possible valid model lookup argument...

But if you feel like you found the correct name, you can of course monkeypatch queryset !-)
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to