如何以编程方式从Django模型中获取related_name或related_query_name到另一个模型?
例如,在此代码中,如何获取Parent用于引用Child with?
的名称class Parent(models.Model):
title = models.CharField(max_length=10)
class Child(Parent):
parent = models.OneToOneField(to=Parent, parent_link=True)
description = models.TextField()
答案 0 :(得分:2)
您可以使用以下内容查找related_query_name
:
Child.parent.field.related_query_name()
答案 1 :(得分:1)
我不确定是否有内置功能来执行此操作,但这里是返回(related_name, related_query_name)
的辅助函数
def get_related_names(model, field_name):
remote_field = getattr(model, field_name).field.remote_field
return (remote_field.related_name, remote_field.related_query_name)
get_related_names(Child, 'parent')