Django什么是反向关系?
有人可以告诉我反向关系是什么意思吗?我已经开始使用Django,并且在文档的很多地方都看到了“反向关系”。到底是什么意思?为什么有用?它与related_name有什么关系?
回答:
这是有关related_name的文档
假设你有2个模型
class Group(models.Model): #some attributes
class Profile(models.Model):
group = models.ForeignKey(Group)
#more attributes
现在,你可以从配置文件对象执行操作profile.group
。但是,如果要给配置文件对象指定group
对象,该怎么做?多数民众赞成在哪里related name
或reverse relationship
进来。
Django默认情况下为你提供一个默认值related_name
,即ModelName(小写),后跟_set-在这种情况下,它将为profile_set,so group.profile_set
。
但是,你可以通过related_name
在ForeignKey
字段中指定a来覆盖它。
class Profile(models.Model): group = models.ForeignKey(Group, related_name='profiles')
#more attributes
现在,你可以按以下方式访问外键:
group.profiles.all()
以上是 Django什么是反向关系? 的全部内容, 来源链接: utcz.com/qa/422587.html