Re: [Django] #32635: System checks for invalid model field names in CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020 relation.

2021-04-14 Thread Django
#32635: System checks for invalid model field names in
CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020
relation.
-+-
 Reporter:  sim1234  |Owner:  Hasan
 |  Ramezani
 Type:  Bug  |   Status:  closed
Component:  Database layer   |  Version:  3.2
  (models, ORM)  |
 Severity:  Release blocker  |   Resolution:  fixed
 Keywords:  UniqueConstraint | Triage Stage:  Ready for
  OneToOneField  |  checkin
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Mariusz Felisiak ):

 In [changeset:"700356f93b9185cc05d9ed349108591a70e597b6" 700356f9]:
 {{{
 #!CommitTicketReference repository=""
 revision="700356f93b9185cc05d9ed349108591a70e597b6"
 [3.2.x] Fixed #32635 -- Fixed system check crash for reverse o2o relations
 in CheckConstraint.check and UniqueConstraint.condition.

 Regression in b7b7df5fbcf44e6598396905136cab5a19e9faff.

 Thanks Szymon Zmilczak for the report.

 Backport of a77c9a4229cfef790ec18001b2cd18bd9c4aedbc from main
 }}}

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.225215782f06eb2730a66cbbc0ffb8fa%40djangoproject.com.


Re: [Django] #32635: System checks for invalid model field names in CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020 relation.

2021-04-14 Thread Django
#32635: System checks for invalid model field names in
CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020
relation.
-+-
 Reporter:  sim1234  |Owner:  Hasan
 |  Ramezani
 Type:  Bug  |   Status:  closed
Component:  Database layer   |  Version:  3.2
  (models, ORM)  |
 Severity:  Release blocker  |   Resolution:  fixed
 Keywords:  UniqueConstraint | Triage Stage:  Ready for
  OneToOneField  |  checkin
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Mariusz Felisiak ):

 * status:  assigned => closed
 * resolution:   => fixed


Comment:

 In [changeset:"a77c9a4229cfef790ec18001b2cd18bd9c4aedbc" a77c9a4]:
 {{{
 #!CommitTicketReference repository=""
 revision="a77c9a4229cfef790ec18001b2cd18bd9c4aedbc"
 Fixed #32635 -- Fixed system check crash for reverse o2o relations in
 CheckConstraint.check and UniqueConstraint.condition.

 Regression in b7b7df5fbcf44e6598396905136cab5a19e9faff.

 Thanks Szymon Zmilczak for the report.
 }}}

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.fa5fd44e018dfbddbca353834ec88dd0%40djangoproject.com.


Re: [Django] #32635: System checks for invalid model field names in CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020 relation.

2021-04-14 Thread Django
#32635: System checks for invalid model field names in
CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020
relation.
-+-
 Reporter:  sim1234  |Owner:  Hasan
 |  Ramezani
 Type:  Bug  |   Status:  assigned
Component:  Database layer   |  Version:  3.2
  (models, ORM)  |
 Severity:  Release blocker  |   Resolution:
 Keywords:  UniqueConstraint | Triage Stage:  Ready for
  OneToOneField  |  checkin
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Mariusz Felisiak):

 * stage:  Accepted => Ready for checkin


-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.3bf6dd909ed8c226ac2ef71aaabeab0b%40djangoproject.com.


Re: [Django] #32635: System checks for invalid model field names in CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020 relation.

2021-04-13 Thread Django
#32635: System checks for invalid model field names in
CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020
relation.
-+-
 Reporter:  sim1234  |Owner:  Hasan
 |  Ramezani
 Type:  Bug  |   Status:  assigned
Component:  Database layer   |  Version:  3.2
  (models, ORM)  |
 Severity:  Release blocker  |   Resolution:
 Keywords:  UniqueConstraint | Triage Stage:  Accepted
  OneToOneField  |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Hasan Ramezani):

 [https://github.com/django/django/pull/14255 PR]

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.cc569fd53ca7d9f4a145c36922a25281%40djangoproject.com.


Re: [Django] #32635: System checks for invalid model field names in CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020 relation.

2021-04-13 Thread Django
#32635: System checks for invalid model field names in
CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020
relation.
-+-
 Reporter:  sim1234  |Owner:  Hasan
 |  Ramezani
 Type:  Bug  |   Status:  assigned
Component:  Database layer   |  Version:  3.2
  (models, ORM)  |
 Severity:  Release blocker  |   Resolution:
 Keywords:  UniqueConstraint | Triage Stage:  Accepted
  OneToOneField  |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Hasan Ramezani):

 * owner:  nobody => Hasan Ramezani
 * status:  new => assigned
 * has_patch:  0 => 1


-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.bb31b85223afecfb89d8997aabf2e7d4%40djangoproject.com.


Re: [Django] #32635: System checks for invalid model field names in CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020 relation. (was: Creating a UniqueConstraint with condition

2021-04-12 Thread Django
#32635: System checks for invalid model field names in
CheckConstraint.check/UniqueConstraint.condition crash with a reverse 020
relation.
-+-
 Reporter:  sim1234  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Database layer   |  Version:  3.2
  (models, ORM)  |
 Severity:  Release blocker  |   Resolution:
 Keywords:  UniqueConstraint | Triage Stage:  Accepted
  OneToOneField  |
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Mariusz Felisiak):

 * cc: Hasan Ramezani (added)
 * version:  2.2 => 3.2
 * severity:  Normal => Release blocker


Comment:

 System checks for invalid model field names in `CheckConstraint.check` and
 `UniqueConstraint.condition`, added in
 b7b7df5fbcf44e6598396905136cab5a19e9faff, crash for me with a reverse 020
 relation, e.g.

 {{{
 diff --git a/tests/invalid_models_tests/test_models.py
 b/tests/invalid_models_tests/test_models.py
 index c79684487d..f39e424251 100644
 --- a/tests/invalid_models_tests/test_models.py
 +++ b/tests/invalid_models_tests/test_models.py
 @@ -1694,6 +1694,25 @@ class ConstraintsTests(TestCase):
  ),
  ])

 +@skipUnlessDBFeature('supports_table_check_constraints')
 +def test_check_constraint_pointing_to_reverse_o2o(self):
 +class Model(models.Model):
 +parent = models.OneToOneField('self', models.CASCADE,
 related_name='model')
 +
 +class Meta:
 +constraints = [
 +models.CheckConstraint(name='name',
 check=models.Q(model__isnull=True)),
 +]
 +
 +self.assertEqual(Model.check(databases=self.databases), [
 +Error(
 +"'constraints' refers to the nonexistent field 'model'.",
 +obj=Model,
 +id='models.E012',
 +),
 +])
 +
 }}}

 {{{
   File "django/django/db/models/base.py", line 1296, in check
 *cls._check_constraints(databases),
   File "django/django/db/models/base.py", line 2108, in _check_constraints
 field.get_transform(first_lookup) is None and
 AttributeError: 'OneToOneRel' object has no attribute 'get_transform'
 }}}

 Marking as a release blocker since it's a bug in a new feature.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.7a3737f91e8ad269c3891d824f846571%40djangoproject.com.