假设我有一个Form模型:
class Form(models.Model):
name = models.TextField()
date = models.DateField()
和各种“儿童”模型
class FormA(models.Model):
form = models.OneToOneField(Form, on_delete=models.CASCADE)
property_a = models.TextField()
class FormB(models.Model):
form = models.OneToOneField(Form, on_delete=models.CASCADE)
property_b = models.IntegerField()
class FormC(models.Model):
form = models.OneToOneField(Form, on_delete=models.CASCADE)
property_c = models.BooleanField()
aForm可以是 3 种形式(FormA、FormB、FormC)中的一种且仅一种。给定一个查询集Form,有什么方法可以恢复它们是什么类型的表单(A、B 或 C)?