我正在处理一个带有额外字段的多对多模型,并查看文档关于多对多关系中的额外字段
在他们的示例中,为了创建成员资格,他们使用以下代码:
m2 = Membership.objects.create(person=paul, group=beatles,date_joined=date(1960, 8, 1), invite_reason= "Wanted to form a band.")
但这意味着他们已经有了“人”和“组”的实例。通常在网站上工作时,我们有对象的ID……所以要创建成员资格,我必须执行以下操作:
person = Person.objects.get(pk=idPerson)
group = Group.objects.get(pk=idgroup)
现在,如果我错了,请纠正我,但是我们不是在插入之前无意义地两次查询数据库吗? 因为在Membership中,我们只需要外键id而不是整个对象... 也许有另一种方法可以仅使用id在多对多关系中进行插入