2010-11-15 106 views
64

在Django中,有一種方法可以在manytomany字段上過濾空白或空值。django - manytomany上的查詢過濾器爲空

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) 

回答

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

和逆是可能的'TestModel.objects.exclude(多對多=無)' – 2013-10-02 09:30:15

+0

有沒有一種方法來查詢在「AnotherModel」無關/獨立的對象?試圖清理多對多模型。 – bozdoz 2014-03-27 21:35:38

+0

使用'AnotherModel.objects.filter(testmodel_set = None)'爲我工作。如果您使用[相關名稱](https://docs.djangoproject.com/zh/dev/topics/db/queries/#backwards-related-objects),您當然應該使用它。 – Felipe 2016-02-22 13:31:54