#29865: Add XOR for use in Q Queries -------------------------------------+------------------------------------- Reporter: spool | Owner: nobody Type: New | Status: new feature | Component: Database | Version: 2.1 layer (models, ORM) | Severity: Normal | Keywords: xor Triage Stage: | Has patch: 0 Unreviewed | Needs documentation: 0 | Needs tests: 0 Patch needs improvement: 0 | Easy pickings: 0 UI/UX: 0 | -------------------------------------+------------------------------------- XOR seems to be available in [https://www.postgresql.org/docs/8.4/static /functions-math.html Postgresql], [https://dev.mysql.com/doc/refman/8.0/en /logical-operators.html MySQL], [https://docs.microsoft.com/en-us/sql/mdx /xor-mdx?view=sql-server-2017 SequelServer] and [https://docs.oracle.com/cd/E17952_01/mysql-5.1-en/logical-operators.html Oracle] but NOT [https://stackoverflow.com/questions/2294137/sqlite- exclusive-or-how-do-i-clear-a-flag sqlite]. Two stackoverflow questions cover this sort of thing: [https://stackoverflow.com/questions/50408142 /django-models-xor-at-the-model-level] and [https://stackoverflow.com/questions/14711203/perform-a-logical-exclusive- or-on-a-django-q-object].
I propose adding XOR to work with Q queries like the [https://stackoverflow.com/a/21220712/678486 answer] to the second question above. This will be my first time making a major contribution so we'll see how this goes (apologies in advance if this is annoying!). -- Ticket URL: <https://code.djangoproject.com/ticket/29865> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/048.9eda1ca96945ea4cf5f1f25983bed784%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.