On May 12, 2:41 pm, Michal Petrucha <michal.petru...@ksp.sk> wrote: > Due to the nature of this field type, other lookup filters than > ``exact`` and ``in`` would have unclear semantics and won't be > supported. The original plan was to also exclude support for ``in`` > but as it turns out, ``in`` is used in several places under the > assumption that primary keys support it, for example DeleteQuery > or UpdateQuery. Therefore both filters will be implemented.
I wonder how to implement __in lookups in SQLite3. SQLite3 doesn't support where (col1, col2) in ((val3, val4),(val5, val6)). But other DBs do (at least MySQL, Oracle and PostgreSQL). I do not know what would be the best way to write something equivalent in SQLite3. The obvious choice is to rewrite it as an OR lookup (as mentioned in the full proposal). Maybe write it as an OR lookup for every DB for the initial patch, and later on this can be improved to have per database handling. In lookups with subselects are a harder problem. Those would need to be rewritten as joined subselects with a distinct clause. [1] Not in lookups could be still harder due to weird null handling. (1 not in (null) -> Unknown). [2] I hope there will be an easy solution to this problem, as this feature is something which would be really, really valuabe for Django (no more telling DBAs: by the way, no composite foreign keys...). One simple solution would be to disallow __in lookups with subselects (or run the subselects separately) and use OR lookups when given a list of values. This should be relatively easy to implement and could be improved later on. - Anssi [1] http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:953229842074 [2] http://asktom.oracle.com/pls/asktom/f?p=100:11:1089369944141559::::P11_QUESTION_ID:442029737684 -- 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.