mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #18854 -- Join promotion in disjunction cases
The added promotion logic is based on promoting any joins used in only some of the childs of an OR clause unless the join existed before the OR clause addition.
This commit is contained in:
@@ -421,3 +421,21 @@ class Responsibility(models.Model):
|
||||
|
||||
def __str__(self):
|
||||
return self.description
|
||||
|
||||
# Models for disjunction join promotion low level testing.
|
||||
class FK1(models.Model):
|
||||
f1 = models.TextField()
|
||||
f2 = models.TextField()
|
||||
|
||||
class FK2(models.Model):
|
||||
f1 = models.TextField()
|
||||
f2 = models.TextField()
|
||||
|
||||
class FK3(models.Model):
|
||||
f1 = models.TextField()
|
||||
f2 = models.TextField()
|
||||
|
||||
class BaseA(models.Model):
|
||||
a = models.ForeignKey(FK1, null=True)
|
||||
b = models.ForeignKey(FK2, null=True)
|
||||
c = models.ForeignKey(FK3, null=True)
|
||||
|
||||
Reference in New Issue
Block a user