mirror of
https://github.com/django/django.git
synced 2025-08-04 02:48:35 +00:00
Fixed #30409 -- Allowed using foreign key's attnames in unique/index_together and Index's fields.
This commit is contained in:
parent
2106b983c4
commit
6485a5f450
3 changed files with 45 additions and 3 deletions
|
@ -117,6 +117,19 @@ class IndexTogetherTests(SimpleTestCase):
|
|||
),
|
||||
])
|
||||
|
||||
def test_pointing_to_fk(self):
|
||||
class Foo(models.Model):
|
||||
pass
|
||||
|
||||
class Bar(models.Model):
|
||||
foo_1 = models.ForeignKey(Foo, on_delete=models.CASCADE, related_name='bar_1')
|
||||
foo_2 = models.ForeignKey(Foo, on_delete=models.CASCADE, related_name='bar_2')
|
||||
|
||||
class Meta:
|
||||
index_together = [['foo_1_id', 'foo_2']]
|
||||
|
||||
self.assertEqual(Bar.check(), [])
|
||||
|
||||
|
||||
# unique_together tests are very similar to index_together tests.
|
||||
@isolate_apps('invalid_models_tests')
|
||||
|
@ -204,6 +217,19 @@ class UniqueTogetherTests(SimpleTestCase):
|
|||
),
|
||||
])
|
||||
|
||||
def test_pointing_to_fk(self):
|
||||
class Foo(models.Model):
|
||||
pass
|
||||
|
||||
class Bar(models.Model):
|
||||
foo_1 = models.ForeignKey(Foo, on_delete=models.CASCADE, related_name='bar_1')
|
||||
foo_2 = models.ForeignKey(Foo, on_delete=models.CASCADE, related_name='bar_2')
|
||||
|
||||
class Meta:
|
||||
unique_together = [['foo_1_id', 'foo_2']]
|
||||
|
||||
self.assertEqual(Bar.check(), [])
|
||||
|
||||
|
||||
@isolate_apps('invalid_models_tests')
|
||||
class IndexesTests(SimpleTestCase):
|
||||
|
@ -257,6 +283,19 @@ class IndexesTests(SimpleTestCase):
|
|||
),
|
||||
])
|
||||
|
||||
def test_pointing_to_fk(self):
|
||||
class Foo(models.Model):
|
||||
pass
|
||||
|
||||
class Bar(models.Model):
|
||||
foo_1 = models.ForeignKey(Foo, on_delete=models.CASCADE, related_name='bar_1')
|
||||
foo_2 = models.ForeignKey(Foo, on_delete=models.CASCADE, related_name='bar_2')
|
||||
|
||||
class Meta:
|
||||
indexes = [models.Index(fields=['foo_1_id', 'foo_2'], name='index_name')]
|
||||
|
||||
self.assertEqual(Bar.check(), [])
|
||||
|
||||
|
||||
@isolate_apps('invalid_models_tests')
|
||||
class FieldNamesTests(SimpleTestCase):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue