6

我有一个 django 模型(A),它有一个 ManyToManyField(类型)到另一个模型(B)。从概念上讲,A 中的字段是“可选地将此对象限制为这些值”。我已经在 ManyToManyField 上设置了blank=null和。null=True我已经从这个模型创建了一个对象,并将类型设置为一些值。一切都很好。

我想将它设置为'null',即禁用它。但在 django shell 中,我收到以下错误:

>>> o.types.all()
[<Type: foo>, <Type: bar>]
>>> o.types = None
File "<console>", line 1, in <module>
File ".../virtualenv/lib/python2.6/site-packages/django/db/models/fields/related.py", line 627, in __set__
manager.add(*value)
TypeError: add() argument after * must be a sequence, not NoneType

我可以成功地将其设置为[](空列表),但我想将其设置为 None,因为我想使用 None 作为信号/标志。这在 Django 模型中可行吗?

我正在使用 Django 1.1

4

2 回答 2

1

我认为不可能将其设置为 None - 想想 M2M 在 SQL 层上是如何实现的(它是一个中间表,你可以在哪里写你的“None”?)。

如果您需要单独的标志,为什么不引入另一列?

于 2010-10-12T10:54:53.420 回答