如何解决Django在不知道相关模型的情况下以一对一关系获取相关对象
在这种情况下如何获取模型的相关对象:
class ModelA(models.Model):
pass
class ModelB(models.Model):
a = models.OneToOneField(ModelA,related_name='b_object',on_delete=models.CASCADE)
class ModelC(models.Model):
a = models.OneToOneField(ModelA,related_name='c_object',on_delete=models.CASCADE)
我知道如果我这样做:
ModelA.b_object # returns related b object
ModelA.c_object # returns related c object
但由于这是一对一的关系,ModelA 的特定实例将仅与这些模型之一的单个实例相关,因此:
是否有一种通用的方法可以在不知道相关对象是来自一个模型还是另一个模型的情况下获取相关对象?
类似于:ModelA.get_related_object
Django 提供这个功能吗?我是否应该为此构建自定义方法以及如何构建?
用例示例(为清晰起见):在 ModelA 的 DetailView 模板中,获取该实例的相关对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。