Just read through all those threads/tickets, here's my conclusion. #2659 was rejected 8 years ago [1] on the basis that it's a "feature creep", and that it "doesn't offer anything revolutionary". However the same could be said for .first() and .last(), yet those were accepted.
#11352 was rejected by luke plant 2 years ago [4] based on the suggested implementation in that ticket, which is not the same implementation as what I'm proposing this time round. The design of `get_object_or_none` being added into shortcuts is not a good approach, and was right to be rejected. #17546 was rejected 2 years ago [3] on the basis that #2659 and #11352 were rejected, both of which I've addressed above. First argument - `first()` and `.last()` have been added, yet the principle behind why they were added is the same as `.get_or_none()`. Second argument - The implementation being suggested in this thread is not the same as what has been suggested in the three rejected tickets. Third argument - Thread [2] had mostly positive feedback, but there was no BDFL decision specifically on `get_or_none`. If I'm missing something here, please let me know. Cal [1] https://code.djangoproject.com/ticket/2659 [2] https://groups.google.com/forum/?fromgroups=#!searchin/django-developers/get_default/django-developers/3RwDxWKPZ_A/mPtAlQ2b0DwJ [3] https://code.djangoproject.com/ticket/17546 [4] https://code.djangoproject.com/ticket/11352 On Thu, Mar 13, 2014 at 5:05 PM, Shai Berger <[email protected]> wrote: > On Thursday 13 March 2014 18:45:31 Cal Leeming [Simplicity Media Ltd] > wrote: > > Seems this issue was brought up several years ago, though the thread was > > later hijacked for other functionality and get_or_none fizzled out. > > https://groups.google.com/forum/#!topic/django-developers/Saa5nbzqQ2Q > > > > In Django 1.6 there were convenience methods added for .first(), for the > > same principle of not having to catch an IndexError (or in this case, a > > DoesNotExist error); > > > https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.model > > s.query.QuerySet.first > > > > This seems to be wanted by several users, as seen here; > > > http://stackoverflow.com/questions/1512059/django-get-an-object-form-the-db > > -or-none-if-nothing-matches > > > > Seems to be quite an easy fix, just needs a proper patch. > > > > Any thoughts? > > > You linked the wrong thread. > > > https://groups.google.com/forum/?fromgroups=#!searchin/django-developers/get_default/django-developers/3RwDxWKPZ_A/mPtAlQ2b0DwJ > > > https://groups.google.com/forum/?fromgroups=#!searchin/django-developers/first%28%29/django-developers/iaOIvwzUhx4/x5wKtl7Bh2sJ > > I was (and still am) for a get_or_none() that raises an exception when > it finds multiple objects, but we were overruled. > > Shai. > > -- > You received this message because you are subscribed to the Google Groups > "Django developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/django-developers. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-developers/201403131905.09028.shai%40platonix.com > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAHKQagFCyR2GGcY%2BV%2BGzdR%3DKi3P9%2BTVbT4BzVD_bDoJBN1w6Qw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
