给定这样的模型:
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>]