2010-11-15 16 views
64

In Django esiste un modo per filtrare su molti campi vuoti o nulli.django - il filtro di query su molti è vuoto

class TestModel(models.Model): 
    name = models.CharField(_('set name'), max_length=200) 
    manytomany = models.ManyToManyField('AnotherModel', blank=True, null=True) 

print TestModel.objects.filter(manytomany__is_null=True) 

risposta

94
print TestModel.objects.filter(manytomany=None) 
+27

E l'inverso è possibile con 'TestModel.objects.exclude (ManyToMany = None)' –

+0

C'è un modo per interrogare oggetti non correlati/senza legami nel 'AnotherModel'? Cercando di ripulire un modello da molti a molti. – bozdoz

+0

Uso 'AnotherModel.objects.filter (testmodel_set = Nessuno)' ha funzionato per me. Se stai usando un [nome correlato] (https://docs.djangoproject.com/en/dev/topics/db/queries/#backwards-related-objects), dovresti ovviamente usarlo. – Felipe

Problemi correlati