gpt4 book ai didi

django - add() 为 ManyToManyField 指定一个中间模型

转载 作者:行者123 更新时间:2023-12-04 11:52:27 26 4
gpt4 key购买 nike

关于这个Exception有很多问题:

AttributeError: Cannot set values on a ManyToManyField which specifies 
an intermediary model.
Use myapp.MyThroughModel's Manager instead.

docs

You can’t just create a relationship between a Person and a Group - you need to specify all the detail for the relationship required by the Membership model. The simple add, create and assignment calls don’t provide a way to specify this extra detail. As a result, they are disabled for many-to-many relationships that use an intermediate model.



但是我所有的 MyThroughModel 属性/列都是可选的。经理可以创建它们。

如何编写自定义管理器来自动创建 MyThroughModel 实例?

我需要 ORM 级别的解决方案,而不是表单级别的解决方案。

最佳答案

我找到了一种告诉 django 忽略额外数据的方法:

class MyThroughModel(Model):
class Meta():
auto_created=True
...

更新

这会导致 django 内部迁移出现问题。我们更新了我们的代码并且不使用 auto_created = True没有了。

关于django - add() 为 ManyToManyField 指定一个中间模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22964448/

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