gpt4 book ai didi

django - 我的 Django manytomany 字段都标记为唯一的,是否可以选择删除它?

转载 作者:行者123 更新时间:2023-12-04 06:57:44 24 4
gpt4 key购买 nike

给定一个这样的模型:

class A(models.Model):
def __unicode__(self):
return "%d"%self.id

class B(models.Model):
a_set = models.ManyToManyField(A)

def __unicode__(self):
return "%d"%self.id

然后下面的一系列操作演示了我的问题:
In [1]: a1=A()
In [2]: a1.save()
In [3]: a1
Out[3]: <A: 1>

In [4]: b1=B()
In [5]: b1.save()
In [6]: b1
Out[6]: <B: 1>

In [7]: b2=B()
In [8]: b2.save()
In [9]: b2
Out[9]: <B: 2>

In [10]: a1.b_set.add(b1)
In [11]: a1.b_set.all()
Out[11]: [<B: 1>]

In [12]: a1.b_set.add(b2)
In [13]: a1.b_set.all()
Out[13]: [<B: 1>, <B: 2>]

In [14]: a1.b_set.add(b2)
In [15]: a1.b_set.all()
Out[15]: [<B: 1>, <B: 2>]

最后我想看到的是:
Out[15]: [<B: 1>, <B: 2>, <B: 2>]

最佳答案

您可以创建第三个表:

class JoinModel(models.Model):
a = models.ForeignKey(A)
b = models.ForeignKey(B)

我相信这将允许您在 A 和 B 的实例之间创建任意数量的关系。

关于django - 我的 Django manytomany 字段都标记为唯一的,是否可以选择删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2350855/

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