代码之家  ›  专栏  ›  技术社区  ›  Amandasaurus

在模型中,将其设置为空?

  •  5
  • Amandasaurus  · 技术社区  · 14 年前

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

    我想将其设置为“空”,即禁用它。但在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
    

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

    我用的是django 1.1

    2 回复  |  直到 14 年前
        1
  •  2
  •   George Karpenkov    14 年前

    我认为不可能将其设置为none—请考虑如何在SQL层上实现M2M(它是一个中间表,您可以在哪里将“none”写入?).

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