gpt4 book ai didi

django 在模型上具有相同关系的多个多对多字段

转载 作者:行者123 更新时间:2023-12-03 23:13:11 26 4
gpt4 key购买 nike

模型中是否可以多次存在相同的多对多关系(字段的字段名称不同)?在进行迁移时,我似乎无法让它发挥作用,因为当我尝试将其复制到不同的名称时,python 提示已经存在的关系。

我的模型目前看起来像这样:

class UserLocations(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
locations = models.ManyToManyField(Locations, related_name="users")

我想添加一个与位置字段相同的名为电子邮件的附加字段。那么我会给它一个不同的相关名称吗?

最佳答案

是的,您可以使用同一模型拥有多个 manytomany 关系。您必须为两者使用不同的 related_name 才能进行反向访问。像这样

class MyModel(models.Model):
relation_a = models.ManyToManyField(AnotherModel, related_name='rev_relation_a')
relation_b = models.ManyToManyField(AnotherModel, related_name='rev_relation_b')

这就是 django 提示的原因,因为您必须为两者明确定义单独的相关名称。

关于django 在模型上具有相同关系的多个多对多字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55363264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com