외국 키 필드에 대한 특정 값을 가진 Django 모델에서 모든 객체를 어떻게 얻을 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1086341

  •  23-08-2019
  •  | 
  •  

문제

"부모"라는 외국 키가있는 모델이 있습니다.

class Item(models.Model):
parent = models.ForeignKey(Parent)

이것은 FK 모델입니다

class Parent(models.Model):
name = models.CharField(blank=True, max_length=100)

def __unicode__(self):
    return str(self.name)

"xyz"의 부모와 함께 모든 항목을 얻는 쿼리를 실행하려고합니다.

Item.objects.filter(parent="xyz")

내가 시도 할 때 :

Item.objects.filter(parent.name="xyz")

또는:

Item.objects.filter(str(parent)="xyz")

오류가 발생합니다.

SyntaxError: keyword can't be an expression

이것을하는 올바른 방법은 무엇입니까?

도움이 되었습니까?

해결책

전달 된 키워드에서 이중 밑줄을 사용할 수 있습니다. filter() 외국의 주요 관계에서 필드에 액세스합니다. 이와 같이:

Item.objects.filter(parent__name="xyz")

장고 문서

다른 팁

Googlers에 대한 향후 참조를 위해서는 최근 버전의 Django를 사용하여 키워드에서 추가 방법을 사용해야합니다. 예를 들어, 대신 parent__name 너가해야되는 parent__name__exact. Cato의 링크에는 다른 예제가 포함되어 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top