id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 7372,queryset intersection either returns wrong result or raises KeyError depending on order (after queryset-refactor merge),omat@…,nobody,"qs1 and qs2 are 2 combinable query sets. qs1 & qs2 resutls in qs2 (the larger set) where it should give the intersection, and qs2 & qs1 raises KeyError. And here are the details: The query representing qs1 is: {{{ SELECT ""notes_note"".""id"", ""notes_note"".""title"", ""notes_note"".""slug"", ""notes_note"".""note"", ""notes_note"".""tags"", ""notes_note"".""location"", ""notes_note"".""user_id"", ""notes_note"".""added"" FROM ""notes_note"" , ""favorites_favorite"" WHERE ""favorites_favorite"".content_type_id = 22 AND ""favorites_favorite"".user_id = 30006 AND ""notes_note"".""id"" = ""favorites_favorite"".object_id }}} The query representing qs2 is: {{{ SELECT ""notes_note"".""id"", ""notes_note"".""title"", ""notes_note"".""slug"", ""notes_note"".""note"", ""notes_note"".""tags"", ""notes_note"".""location"", ""notes_note"".""user_id"", ""notes_note"".""added"" FROM ""notes_note"" WHERE NOT (""notes_note"".""title"" IS NULL) }}} The query representing (qs1 & qs2) is equivalent to the one of qs2, which is the larger query set. When the order is reversed, i.e. (qs2 & qs1) results in ""KeyError: 'favorites_favorite'"" ",,closed,Core (Other),dev,,duplicate,"qsrf-cleanup queryset union, combine querysets",,Unreviewed,0,0,0,0,0,0