这可能是重复的,如果是的话,道歉。
我查看了许多提要和Django手册content_types,试图找到答案但无济于事(可能是由于我对内容类型的了解不清,并且没有正确阅读内容)。
我所缺少的是如何从主模型中获取所有不同类型的关联模型。例如
class MainModel(models.Model):
title = models.CharField(max_length=255)
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey()
与“ MainModel”关联的两个模型:
class FirstModel(models.Model):
...
main = GenericForeignKey(MainModel)
class SecondModel(models.Model):
...
main = GenericForeignKey(MainModel)
如何从Main模型中获取FirstModel和SecondModel?
因此,我可以收集它们以显示在模板中。
仅供参考,某些情况下对于特定的关联可能不存在SecondModel。这就是为什么我需要从MainModel进行操作的原因,因为我不知道通用模型是否会一直存在。 (在我的实际代码中,有两个以上的东西)
会是这样吗?
example = ContentType.objects.get(MainModel)
我可能完全不正确地看待这个问题。主要目标是要有许多模型引用主模态,但能够从主模型中查询许多类型不明的数量和数量的模型。