2011-02-28 7 views
0

장고 태그 지정에서 객체를 필터링 할 수있는 방법이 궁금합니다.django-tagging은 필터링 된 항목의 태그 만 표시합니다.

예를 들어 기사를 작성한 상태가 여전히 draft 인 경우 기사가 게시 상태로 푸시되기 전에이 기사를 표시하고 싶지는 않습니다.

{% tags_for_model products.Widget as widget_tags %}에서 수행합니까 아니면 다른 방법이 있습니까?

답변

1

당신은 당신은 필터 등을 추가 할 수 있습니다보기에 usage_for_model를 사용하여 그것을 할 수

Tag.objects.usage_for_model(ModelClass, filters={"status":1}) 

또는 필터

을 받아 tags_for_model의 버전을 만들
1

templatetags에서 태그를 검색하는 개체를 필터링하지 않습니다. 내가 무엇을 할 것이라고

Product.objects.filter(draft= False) 

태그를 가지고 정직 방법을 찾지 못했습니다 는 PublishedProduct

처럼
class PublishedProduct(Product): 
    objects = PublishedProductManager() 
    class Meta: 
     proxy = True 

을 제품의 프록시 모델을 만드는 것입니다 다음을 반환하는 기본 관리자를 설정 필터에서 일부 (예를 들어 필터 (안) = 거짓)

class PublishedProduct(models.Manager): 
    def get_query_set(self): 
     return super(PublishedProduct, self).get_query_set().filter(draft= False)