#29125: BUG: Q object deconstruct is inconsistent when passing multiple kwargs.
-------------------------------------+-------------------------------------
     Reporter:  Harro                |                    Owner:  nobody
         Type:  Bug                  |                   Status:  new
    Component:  Database layer       |                  Version:  2.0
  (models, ORM)                      |
     Severity:  Release blocker      |               Resolution:
     Keywords:  has_test             |             Triage Stage:
                                     |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Description changed by Harro:

Old description:

> Here is a branch with a randomly failing test that proves this:
> https://github.com/hvdklauw/django/blob/bug/q_destruct/tests/queries/test_q.py#L63
>
> The biggest issue is that now makemigrations is detecting changes since
> we upgraded to django 2.0 (only with python 3.5) that aren't changes at
> all, just reordered kwargs on the Q objects in out limit_choices_to on
> some foreignkeys.
>
> This also means we randomly can't commit/release because we have pre-
> commit hooks and CI that runs ''makemigrations --check --dryrun''
>
> Upgrading to python 3.6 would fix it (because of ordered kwargs) but as
> Ubuntu 16.04 is still the latest LTS, python 3.5 is what we are stuck
> with.

New description:

 Here is a branch with a randomly failing test that proves this:
 
https://github.com/hvdklauw/django/blob/bug/q_destruct/tests/queries/test_q.py#L63

 The biggest issue is that now makemigrations is detecting changes since we
 upgraded to django 2.0 (only with python 3.5) that aren't changes at all,
 just reordered kwargs on the Q objects in out limit_choices_to on some
 foreignkeys.

 This also means we randomly can't commit/release because we have pre-
 commit hooks and CI that runs ''makemigrations --check --dryrun''

 Upgrading to python 3.6 would fix it (because of ordered kwargs) but as
 Ubuntu 16.04 is still the latest LTS, python 3.5 is what we are stuck
 with.

 This is the commit that broke it:
 
https://github.com/django/django/commit/508b5debfb16843a8443ebac82c1fb91f15da687

--

-- 
Ticket URL: <https://code.djangoproject.com/ticket/29125#comment:1>
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/066.206b2000b6ffbf7847d666a9f81d585f%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to