2010-11-15 25 views
64

En Django hay una manera de filtrar en un campo manytomany vacío o nulo.django - filtro de consulta en manytomany está vacío

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) 

Respuesta

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

y la inversa es posible con 'TestModel.objects.exclude (muchosamuchos = Ninguno)' –

+0

¿Existe una forma de consultar objetos no relacionados/no fijadas en el 'AnotherModel'? Tratando de limpiar un modelo de muchos a muchos. – bozdoz

+0

Usar 'AnotherModel.objects.filter (testmodel_set = None)' funcionó para mí. Si está utilizando un [nombre relacionado] (https://docs.djangoproject.com/en/dev/topics/db/queries/#backwards-related-objects), debería usarlo en su lugar. – Felipe

Cuestiones relacionadas