Django를 사용하여 사전 응용 프로그램을 만들고 있습니다. 이 앱의 주요 모델은 Expression
s, Definition
s 및 City
s입니다. 논리는 각각 Expression
하나 이상의를 가지며 각각 은 하나 Definition
와 Definition
연결되어 있다는 것 City
입니다.
내 문제는 다음과 같습니다 . 레벨 에서 City
와 관련된 모든를 쿼리하고 싶습니다 .Expression
Expression
예를 들어, 나는 (각각 ) 와 관련된 모든를 an_expression.cities
얻고 싶습니다 .City
Definition
an_expression
내 모델은 다음과 같습니다 .
class City(models.Model):
city = models.CharField()
class Expression(models.Model):
expression = models.CharField()
cities = models.ManyToManyField(City, related_name="expressions")
class Definition(models.Model):
city = models.ForeignKey(City, related_name="definitions")
expression = models.ForeignKey(Expression, related_name="definitions")
이제이 코드가 작동합니다. 그러나 때마다 나는 추가 Definition
를 추가 할 I 필요 City
모두에 Expression
--AND-- Definition
자체를.
여기 제 질문은 단지를 추가 할 수있는 방법이 있나요 : City
받는 사람은 Definition
다음 어떻게 든 쿼리 할 수 an_expression.cities
및 모든 도시 (기본적으로 치우는 얻을 cities
에서 필드 Expression
모델)?
클래스의 related_name
다른 외래 키에 대해 동일하게 사용하지 마십시오.Definition
class Definition(models.Model):
city = models.ForeignKey(City, related_name="definitions_city")
expression = models.ForeignKey(Expression, related_name="definitions_expression")
이와 같은 city
목록을 얻을 수 있습니다.Expression
an_expression = Expression.objects.first()
an_expression.definitions_expression.values('city__city')
따라서 클래스 에 cities
ManyToManyField 가 필요하지 않습니다.Expression
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다