summaryrefslogtreecommitdiff
path: root/tests/admin_views/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_views/models.py')
-rw-r--r--tests/admin_views/models.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/admin_views/models.py b/tests/admin_views/models.py
index f449ad792b..0a41d75ace 100644
--- a/tests/admin_views/models.py
+++ b/tests/admin_views/models.py
@@ -339,6 +339,24 @@ class Child(models.Model):
raise ValidationError('invalid')
+class PKChild(models.Model):
+ """
+ Used to check autocomplete to_field resolution when ForeignKey is PK.
+ """
+ parent = models.ForeignKey(Parent, models.CASCADE, primary_key=True)
+ name = models.CharField(max_length=128)
+
+ class Meta:
+ ordering = ['parent']
+
+ def __str__(self):
+ return self.name
+
+
+class Toy(models.Model):
+ child = models.ForeignKey(PKChild, models.CASCADE)
+
+
class EmptyModel(models.Model):
def __str__(self):
return "Primary key = %s" % self.id
@@ -617,13 +635,28 @@ class Song(models.Model):
class Employee(Person):
code = models.CharField(max_length=20)
+ class Meta:
+ ordering = ['name']
+
class WorkHour(models.Model):
datum = models.DateField()
employee = models.ForeignKey(Employee, models.CASCADE)
+class Manager(Employee):
+ """
+ A multi-layer MTI child.
+ """
+ pass
+
+
+class Bonus(models.Model):
+ recipient = models.ForeignKey(Manager, on_delete=models.CASCADE)
+
+
class Question(models.Model):
+ big_id = models.BigAutoField(primary_key=True)
question = models.CharField(max_length=20)
posted = models.DateField(default=datetime.date.today)
expires = models.DateTimeField(null=True, blank=True)