2010-10-12 17 views
5

Başka bir modele (B) ManyToManyField (türleri) sahip bir django model (A) var. Kavramsal olarak A'daki alan 'isteğe bağlı olarak bu nesneyi bu değerlere sınırlandırır'. ManyToManyField üzerinde blank=null ve null=True ayarladık. Bu modelden bir nesne oluşturdum ve türleri bazı değerlere ayarladım. Her şey yolunda.Django - ManyToManyField bir modelde null olarak ayarlanıyor?

Bunu 'null' olarak ayarlamak istiyorum, yani devre dışı bırakın. Ama Django kabuğunda, ben aşağıdaki hataları alıyorum:

>>> 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 

başarıyla [] (boş liste) olarak ayarlayabilirsiniz, ama olarak Yok'u kullanmak istiyorum çünkü ben, Yok olarak ayarlayın istiyorum sinyal/flag. Django modellerinde bu mümkün mü? Ben clear() bunun için var Django 1.1

cevap

2

Ben Yok olarak ayarlamak mümkün olduğunu düşünmüyorum - M2M SQL katman üzerinde nasıl uygulandığını düşünmek (öyle Size "Hiçbiri" yazabilirsiniz bir intermidiate tablo?).

Ayrı bir bayrağa ihtiyacınız varsa, neden başka bir sütun eklemeyin?

11
+0

clear() iyi bir başlangıç ​​gibi görünüyor. Clear() öğesini yaptıktan sonra, alan [] veya None olarak ayarlanmış mı? – Rory

+2

@Rory: Bunu denediğinizde, neyi gözlemlediniz? –

İlgili konular