用于ManyToManyField的add(),用于指定中间模型

时间:2014-04-09 13:42:22

标签: django django-models

关于此例外有很多问题:

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

docs

  

你不能只在一个人和一个群体之间建立一种关系 -   您需要指定所需关系的所有详细信息   会员制模式。简单的添加,创建和赋值调用   不提供指定此额外细节的方法。结果,他们   对于使用中间件的多对多关系禁用   模型。

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

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

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

1 个答案:

答案 0 :(得分:7)

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

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

<强>更新

这会产生django内部迁移的问题。我们更新了代码,不再使用auto_created = True

相关问题