假设我制作了一个模型:
class A(models.Model):
col = models.ManyToManyField(B)
现在迁移后,这将创建一个包含字段id,A_id,B_id的表A_B。 现在,如果我想访问表A_B的id,该怎么做?以及如何更新此表的B_id?
答案 0 :(得分:1)
class A(models.Model):
col = models.ManyToManyField(B, through='C')
class C(models.Model):
a = models.ForeignKey(A)
b = models.ForeignKey(B)
//any other extra field
然后您可以过滤或查询C
表。
例如,要打印所有C
个实例id
:
for c in C.objects.all():
print c.id
答案 1 :(得分:1)
如果您有A:
的对象A_obj.col.all()
这将返回与该A
相关的所有A_B对象for ab in A_obj.col.all():
print ab.id
这将打印表A_B的所有ID。
for ab in A_obj.col.all():
ab.B_id = new id
ab.save()
这将使用新ID更新您的B_id。