On Mon, Oct 3, 2011 at 2:40 AM, Sebastian Goll <[email protected]> wrote: > Hello, > > I'm afraid I'll have to reply to my own message because nobody else did. ;) > Please read on. Also, please note that the original report is now over five > weeks old, with no real solution yet in sight. > > > On Thu, 29 Sep 2011 21:52:23 +0200 > Sebastian Goll <[email protected]> wrote: > >> I'd like to draw your attention to ticket #16715: >> >> "Wrong JOIN with nested null-able foreign keys" >> https://code.djangoproject.com/ticket/16715 > > I think this is a serious bug which should be further investigated. There is > the possibility that also other queries do not work as expected, when > multiple models with (null-able) foreign keys are involved.
It is certainly a bug. However, I disagree that it is "serious" -- at least, not by the measure that the Django project applies. We certainly don't like queries that return the wrong results, but being pragmatic, unless: 1) The query is clearly a common case, or 2) The query will cause data to be irretrievably lost, or 3) The behavior has changed in the last release then we don't consider it critical. To clarify -- (1) gets triggered when mailing lists and IRC are full of people who have hit the problem; (2) applies to deletion queries; (3) relates to interaction with new features and our backwards compatibility policy. Unfortunately, there are plenty of ORM bugs that result in incorrect queries, and many of them are *much* older than 5 weeks. You've done a lot of work here triaging the problem, but I wouldn't 100% rule out the possibility that there are other, very closely related tickets. So - how do you get this problem fixed? Well, fixing bugs deep in the ORM take a lot of time, and there's a limited subset of people with enough experience in the ORM to do the job. Unfortunately, there's no good fix to this end of the problem. All I can suggest is: 1) Build your own experience with the internals of the ORM. As part of this learning process, document what you learn -- we would very much like to have better documentation of the internals of Django's ORM, but writing that documentation takes time. 2) Build your value to those in the core team that can help you. Rather than focussing on just this one bug which is obviously important to you personally, find other ORM-related bugs and help out. It's basic human nature to want to help people who have helped you, and you can exploit this to your own benefit -- if you do triage and provide patches for other ORM bugs, you earn a whole lot of karma with the people who are in a position to help you, which increases the chances that your pet bug will get attention. Sorry that I can't offer you a "wave this wand and your ticket will be fixed" solution, though :-) Yours, Russ Magee %-) -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.
