mirror of
https://github.com/django/django.git
synced 2025-11-19 03:08:59 +00:00
Fix incorrect ordering with self-referencing foreign keys
Ensure order_by on related "_id" fields takes precedence over model Meta.ordering, avoiding extra joins and unexpected sort order. Resolves issues with self-referential relations.
This commit is contained in:
parent
a59de6e89e
commit
745277205f
3 changed files with 139 additions and 1 deletions
|
|
@ -59,3 +59,17 @@ class Reference(models.Model):
|
|||
|
||||
class Meta:
|
||||
ordering = ('article',)
|
||||
|
||||
|
||||
# Models for testing self-referencing foreign key ordering
|
||||
class OneModel(models.Model):
|
||||
root = models.ForeignKey("self", on_delete=models.CASCADE, null=True)
|
||||
oneval = models.BigIntegerField(null=True)
|
||||
|
||||
class Meta:
|
||||
ordering = ("-id",)
|
||||
|
||||
|
||||
class TwoModel(models.Model):
|
||||
record = models.ForeignKey(OneModel, on_delete=models.CASCADE)
|
||||
twoval = models.BigIntegerField(null=True)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue