在Django中,“ related_name”是用来做什么的?
该related_name
参数对on ManyToManyField
和ForeignKeyfield
有什么用?例如,给定以下代码,的作用是related_name='maps'
什么?
class Map(db.Model): members = models.ManyToManyField(User, related_name='maps',
verbose_name=_('members'))
回答:
该related_name
属性指定从User
模型回到模型的反向关系的名称。
如果不指定related_name
,Django会自动使用带有后缀的型号的名称创建一个_set
,例如User.map_set.all()
。
如果确实related_name=maps
在User
模型上指定,User.map_set
则仍然可以使用,但是User.maps.语法显然更简洁,更简洁。因此,例如,如果你有一个用户对象current_user
,则可以current_user.maps.all()
用来获取Map模型中与关联的所有实例current_user
。
该Django文档有更多的细节。
以上是 在Django中,“ related_name”是用来做什么的? 的全部内容, 来源链接: utcz.com/qa/416364.html