I tienen un modelo django (A) que tiene un ManyToManyField (tipos) a otro modelo (B). Conceptualmente, el campo en A es 'opcionalmente limita este objeto a estos valores'. He puesto blank=null
y null=True
en el ManyToManyField. Creé un objeto a partir de este modelo y establecí los tipos en algunos valores. Todo es bueno.Django - ManyToManyField en un modelo, poniéndolo en null?
Quiero ponerlo en 'nulo', es decir, deshabilitarlo. Pero en la cáscara Django, consigo los siguientes errores:
>>> 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
que puede establecer con éxito para []
(la lista vacía), pero me gustaría ponerlo en Ninguno, ya que quiero usar Ninguno como señal/bandera. ¿Es esto posible en los modelos de Django?
estoy usando Django 1.1
claro() parece un buen comienzo. Después de hacer clear(), ¿el campo está configurado en [] o None? – Rory
@Rory: cuando lo intentaste, ¿qué observaste? –