Django模型过滤器

时间:2013-10-18 06:18:20

标签: python django filter many-to-many django-queryset

我在Django项目中有以下模型:

class Accion(models.Model):
   nombre = models.CharField(max_length=100,blank = True, null=True)

class Proyecto(models.Model):
   titulo = models.CharField(max_length=100,blank = True, null=True)
   acciones = models.ManyToManyField(Accion,blank = True, null=True,related_name="Proyectos")

我需要在反向filter()查询中获取与Proyecto对象的id列表相关的所有Accion对象。 我试过这个:

ids_Proyecto=Proyecto.values_list('id').filter(titulo__icontains='ejemplo')
list_acciones=Accion(proyectos__id__in=ids_Proyecto)

但是我收到以下错误: 'proyectos_ id _in'是此功能的无效关键字参数

我如何获得Accion对象的查询集? Thankss

1 个答案:

答案 0 :(得分:1)

将行更改为:

list_acciones=Accion.objects.filter(proyectos__id__in=ids_Proyecto)

有关如何使用过滤器查询的详细信息,请参阅Retrieving specific objects with filters