mirror of
https://github.com/django/django.git
synced 2025-11-26 13:42:08 +00:00
Fixed #35050 -- Fixed prefixing field names in FilteredRelation().
Thanks Mark Zorn for the report.
Regression in 59f4754704.
This commit is contained in:
parent
623597c786
commit
14917c9ae2
4 changed files with 45 additions and 2 deletions
|
|
@ -36,6 +36,8 @@ class Book(models.Model):
|
|||
related_query_name="book",
|
||||
)
|
||||
editor = models.ForeignKey(Editor, models.CASCADE)
|
||||
number_editor = models.IntegerField(default=-1)
|
||||
editor_number = models.IntegerField(default=-2)
|
||||
generic_author = GenericRelation(Author)
|
||||
state = models.CharField(max_length=9, choices=STATES, default=AVAILABLE)
|
||||
|
||||
|
|
|
|||
|
|
@ -792,6 +792,42 @@ class FilteredRelationTests(TestCase):
|
|||
).filter(my_books__isnull=True)
|
||||
self.assertSequenceEqual(qs, [])
|
||||
|
||||
def test_conditional_expression_rhs_contains_relation_name(self):
|
||||
qs = Book.objects.annotate(
|
||||
rel=FilteredRelation(
|
||||
"editor",
|
||||
condition=Q(id=1 * F("number_editor")),
|
||||
)
|
||||
).filter(rel__isnull=True)
|
||||
self.assertSequenceEqual(qs, [])
|
||||
|
||||
def test_conditional_expression_rhs_startswith_relation_name(self):
|
||||
qs = Book.objects.annotate(
|
||||
rel=FilteredRelation(
|
||||
"editor",
|
||||
condition=Q(id=1 * F("editor_number")),
|
||||
)
|
||||
).filter(rel__isnull=True)
|
||||
self.assertSequenceEqual(qs, [])
|
||||
|
||||
def test_conditional_expression_lhs_startswith_relation_name(self):
|
||||
qs = Book.objects.annotate(
|
||||
rel=FilteredRelation(
|
||||
"editor",
|
||||
condition=Q(editor_number__gt=1),
|
||||
)
|
||||
).filter(rel__isnull=True)
|
||||
self.assertSequenceEqual(qs, [])
|
||||
|
||||
def test_conditional_expression_lhs_contains_relation_name(self):
|
||||
qs = Book.objects.annotate(
|
||||
rel=FilteredRelation(
|
||||
"editor",
|
||||
condition=Q(number_editor__gt=1),
|
||||
)
|
||||
).filter(rel__isnull=True)
|
||||
self.assertSequenceEqual(qs, [])
|
||||
|
||||
|
||||
class FilteredRelationAggregationTests(TestCase):
|
||||
@classmethod
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue