2013-10-18 6 views
1

필터 I 장고 프로젝트에 다음과 같은 모델이 있습니다장고 모델

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

나는 반전 필터() 쿼리에 Proyecto 객체 식별자의 목록과 관련된 모든 ACCION 객체를 얻을 필요가있다. 나는이 시도 :

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

하지만 다음과 같은 오류가 발생합니다 : 이 기능에 대해 잘못된 키워드 인수입니다

어떻게 내가 ACCION이 검색어 세트 개체를 얻을 수있는 '유념하라이 ID를 proyectos_'?

답변

1

변경 라인 Thankss :

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

필터 쿼리를 사용하는 방법에 대한 자세한 내용은 Retrieving specific objects with filters를 참조하십시오.

+0

"'''list_acciones = Accion.objects.filter (proyectos_id__in = ids_Proyecto)'''는 효과가 있지만 잘 모르겠습니다. – oleg