사용자 정의 Django Admin FilterSpec (이미 SO #991926에 적용)에서 작업 중입니다. 내 FilterSpec은 ForeignKey (User)의 기본 필터를 대체하며 모든 사용자의 목록을 기본적으로 3 가지 선택 항목, 모두, 광산 및 기타 항목으로 바꿉니다.부정적 사용자 정의 Django admin FilterSpec
예를 들어 created_by
필드에 맞춤 필터 지정을 적용하면 전체, 작성자 및 기타 작성자로 된 관리 필터가 추가됩니다. 모든 것이 작동합니다 을 제외하고 네거티브 필터, Created by Others.
__not
를 추가하여이를 달성하기 위해 시도했습니다 : 장고 이런 부정적인에서 필터링을 지원하지 않는 것
def choices(self, cl):
yield {
'selected': self.lookup_val == self.user.pk,
'query_string': cl.get_query_string({'%s__not' % self.field.name: self.user.pk}),
'display': capfirst('%s Others' % self.field.verbose_name)
}
. 나는 또한 __gte
과 __lte
을 가지고 실험했지만 filterspec은 처음 발견 한 (gte) 것을 사용하고 다른 하나는 삭제한다.
누구나 사용자 지정 FilterSpec을 통해 이와 같은 네거티브 필터를 얻는 방법을 알고 있습니까?
이것은 최신 SVN 체크 아웃에서만 작동합니다. –
실제로는 그렇지 않습니다. :) 버전 1.2에서는 "중간"우선 순위 기능입니다. Django 1.0에서 http://code.djangoproject.com/ticket/5833 패치를 사용하고 있습니다. – user27478
당신은 장고 라이브러리의 FilterSpec 코드를 살펴 봤고 어디에서 가져 왔는지 궁금합니다. 잠시 트렁크에 들어갈 때까지 기다릴 것이라고 생각하지만,이 get_query_set 메서드를 사용할 수있게하려면 눈을 떼지 않아도됩니다. –