가 나는 두 가지 모델이 카테고리 찾는 :장고 DB, 그 항목 하위 집합에 모두
class Category(models.Model):
pass
class Item(models.Model):
cat = models.ForeignKey(Category)
내가 그 범주의 모든 항목이 항목의 주어진 집합에 속하는 모든 카테고리를 반환하려고를 ID (고마워 함). 예를 들어, 해당 범주와 연관된 모든 항목이 [1,3,5] 집합에있는 ID를 갖는 모든 범주.
Django의 쿼리 구문 (1.1 베타)을 사용하여 어떻게 수행 할 수 있습니까? 이상적으로 모든 작업은 데이터베이스에서 수행되어야합니다.
allowable_items = set([1,3,4])
하나 bruteforce 솔루션은 그래서 모든 범주에 대한 item_set을 확인하는 것입니다 :
categories_with_allowable_items = [
category for category in
Category.objects.all() if
set([item.id for item in category.item_set.all()]) <= allowable_items
]
하지만 우리는 '돈
한 번 더 작업을 설명하십시오. 이제는 입력 된 것과 동일한 범주의 하위 집합을 얻고 싶어하는 것 같습니다. –
나는 "해당 카테고리의 모든 항목이 ** item ** ids의 주어진 하위 집합에 속하는 모든 범주"라고 가정합니다. 그렇지 않으면 의미가 없습니다. –
맞습니다. 오타가 수정되었습니다. –