Django是否提供了为模型的所有关系字段定义通用related_name的方法?
示例:
class A(models.Model):
pass
class B(models.Model):
pass
class C(models.Model):
pass
class D(models.Model):
a = models.ForeignKey(A, related_name="ds")
b = models.ForeignKey(B, related_name="ds")
c = models.ForeignKey(C, related_name="ds")
有没有办法只指定一次用于模型D的字段a,b,c的相关名称,或者除了为每个字段输入外,我别无选择吗?
答案 0 :(得分:0)
理论上你可以做类似
的事情class D(models.Model):
name = "ds"
a = models.ForeignKey(A, related_name=name)
b = models.ForeignKey(B, related_name=name)
c = models.ForeignKey(C, related_name=name)
但我不完全确定我理解你为什么要避免输入related_name =“ds”几次。干杯!
答案 1 :(得分:0)
对于那些感兴趣的人来说,这个功能在Django中不存在,最高可达1.7,但现在可以在开发版中使用。见https://docs.djangoproject.com/en/dev/ref/models/options/#default-related-name