Refs #31657 -- Added test for ordering by self-referential ForeignKeys.
This commit is contained in:
parent
a59de6e89e
commit
c1f7de8acc
|
@ -18,6 +18,7 @@ from django.db import models
|
||||||
|
|
||||||
class Author(models.Model):
|
class Author(models.Model):
|
||||||
name = models.CharField(max_length=63, null=True, blank=True)
|
name = models.CharField(max_length=63, null=True, blank=True)
|
||||||
|
editor = models.ForeignKey('self', models.CASCADE, null=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ('-pk',)
|
ordering = ('-pk',)
|
||||||
|
|
|
@ -343,6 +343,17 @@ class OrderingTests(TestCase):
|
||||||
attrgetter("headline")
|
attrgetter("headline")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_order_by_self_referential_fk(self):
|
||||||
|
self.a1.author = Author.objects.create(editor=self.author_1)
|
||||||
|
self.a1.save()
|
||||||
|
self.a2.author = Author.objects.create(editor=self.author_2)
|
||||||
|
self.a2.save()
|
||||||
|
self.assertQuerysetEqual(
|
||||||
|
Article.objects.filter(author__isnull=False).order_by('author__editor'),
|
||||||
|
['Article 2', 'Article 1'],
|
||||||
|
attrgetter('headline'),
|
||||||
|
)
|
||||||
|
|
||||||
def test_order_by_f_expression(self):
|
def test_order_by_f_expression(self):
|
||||||
self.assertQuerysetEqual(
|
self.assertQuerysetEqual(
|
||||||
Article.objects.order_by(F('headline')), [
|
Article.objects.order_by(F('headline')), [
|
||||||
|
|
Loading…
Reference in New Issue