Re: [Django] #29125: BUG: Q object deconstruct is inconsistent when passing multiple kwargs.

2018-02-12 Thread Django
#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:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Simon Charette):

 * stage:  Unreviewed => Accepted


Comment:

 Apart from preserving the `kwargs` nature of some children I'd argue that
 `Q.deconstruct` should also use `django.utils.models.Q` as path instead of
 `django.db.models.query_utils.Q` like we do with
 `django.db.models.fields.*` and should avoid adding `_connector` if it's
 `'AND'` and `_negated` if it's `False` to `kwargs` because these are the
 default values.

-- 
Ticket URL: 
Django 
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.3dc82a93007d06d387bda3a3df23acc6%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #29125: BUG: Q object deconstruct is inconsistent when passing multiple kwargs.

2018-02-12 Thread Django
#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: 
Django 
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.


[Django] #29125: BUG: Q object deconstruct is inconsistent when passing multiple kwargs.

2018-02-12 Thread Django
#29125: BUG: Q object deconstruct is inconsistent when passing multiple kwargs.
-+-
   Reporter:  Harro  |  Owner:  nobody
   Type:  Bug| Status:  new
  Component:  Database   |Version:  2.0
  layer (models, ORM)|
   Severity:  Release|   Keywords:  has_test
  blocker|
   Triage Stage: |  Has patch:  0
  Unreviewed |
Needs documentation:  0  |Needs tests:  0
Patch needs improvement:  0  |  Easy pickings:  0
  UI/UX:  0  |
-+-
 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.

-- 
Ticket URL: 
Django 
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/051.a5cc1ed39744b658671fee700db5b409%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.