|
@@ -254,10 +254,6 @@ class ForeignKeyTests(test.TestCase):
|
|
|
|
|
|
@isolate_apps('model_fields', 'model_fields.tests')
|
|
|
def test_abstract_model_app_relative_foreign_key(self):
|
|
|
- class Refered(models.Model):
|
|
|
- class Meta:
|
|
|
- app_label = 'model_fields'
|
|
|
-
|
|
|
class AbstractReferent(models.Model):
|
|
|
reference = models.ForeignKey('Refered', on_delete=models.CASCADE)
|
|
|
|
|
@@ -265,11 +261,19 @@ class ForeignKeyTests(test.TestCase):
|
|
|
app_label = 'model_fields'
|
|
|
abstract = True
|
|
|
|
|
|
- class ConcreteReferent(AbstractReferent):
|
|
|
- class Meta:
|
|
|
- app_label = 'tests'
|
|
|
+ def assert_app_model_resolved(label):
|
|
|
+ class Refered(models.Model):
|
|
|
+ class Meta:
|
|
|
+ app_label = label
|
|
|
|
|
|
- self.assertEqual(ConcreteReferent._meta.get_field('reference').related_model, Refered)
|
|
|
+ class ConcreteReferent(AbstractReferent):
|
|
|
+ class Meta:
|
|
|
+ app_label = label
|
|
|
+
|
|
|
+ self.assertEqual(ConcreteReferent._meta.get_field('reference').related_model, Refered)
|
|
|
+
|
|
|
+ assert_app_model_resolved('model_fields')
|
|
|
+ assert_app_model_resolved('tests')
|
|
|
|
|
|
|
|
|
class ManyToManyFieldTests(test.SimpleTestCase):
|
|
@@ -295,14 +299,6 @@ class ManyToManyFieldTests(test.SimpleTestCase):
|
|
|
|
|
|
@isolate_apps('model_fields', 'model_fields.tests')
|
|
|
def test_abstract_model_app_relative_foreign_key(self):
|
|
|
- class Refered(models.Model):
|
|
|
- class Meta:
|
|
|
- app_label = 'model_fields'
|
|
|
-
|
|
|
- class Through(models.Model):
|
|
|
- refered = models.ForeignKey('Refered', on_delete=models.CASCADE)
|
|
|
- referent = models.ForeignKey('tests.ConcreteReferent', on_delete=models.CASCADE)
|
|
|
-
|
|
|
class AbstractReferent(models.Model):
|
|
|
reference = models.ManyToManyField('Refered', through='Through')
|
|
|
|
|
@@ -310,12 +306,27 @@ class ManyToManyFieldTests(test.SimpleTestCase):
|
|
|
app_label = 'model_fields'
|
|
|
abstract = True
|
|
|
|
|
|
- class ConcreteReferent(AbstractReferent):
|
|
|
- class Meta:
|
|
|
- app_label = 'tests'
|
|
|
+ def assert_app_model_resolved(label):
|
|
|
+ class Refered(models.Model):
|
|
|
+ class Meta:
|
|
|
+ app_label = label
|
|
|
+
|
|
|
+ class Through(models.Model):
|
|
|
+ refered = models.ForeignKey('Refered', on_delete=models.CASCADE)
|
|
|
+ referent = models.ForeignKey('ConcreteReferent', on_delete=models.CASCADE)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ app_label = label
|
|
|
+
|
|
|
+ class ConcreteReferent(AbstractReferent):
|
|
|
+ class Meta:
|
|
|
+ app_label = label
|
|
|
+
|
|
|
+ self.assertEqual(ConcreteReferent._meta.get_field('reference').related_model, Refered)
|
|
|
+ self.assertEqual(ConcreteReferent.reference.through, Through)
|
|
|
|
|
|
- self.assertEqual(ConcreteReferent._meta.get_field('reference').related_model, Refered)
|
|
|
- self.assertEqual(ConcreteReferent.reference.through, Through)
|
|
|
+ assert_app_model_resolved('model_fields')
|
|
|
+ assert_app_model_resolved('tests')
|
|
|
|
|
|
|
|
|
class TextFieldTests(test.TestCase):
|