2011-10-29 3 views
0

내 응용 프로그램에서 관리자 목록 페이지를 정렬하는 링크를 추가해야합니다. 정렬은 list_display에없는 필드를 기반으로 수행되어야합니다.장고 관리자 변경 목록에 분류기를 추가하는 방법

내 모델

class Page(models.Model): 
    title = models.CharField(max_length=40) 
    published_on = models.DateTimeField('Date Published') 
    created_on = models.DateTimeField('Date Created') 

하고 내 관리자 파일이 난 그냥 링크를 추가 할 필요가

class PageAdmin(PageModelAdmin): 
    list_display = ('title', 'published_on') 
core.site.register(Page, PageAdmin) 

입니다 created_on을 기준으로 목록을 정렬하는 관리자 목록 페이지에서 "최근 추가" list_display에 추가되지 않았습니다. 어떤 제안이라도 부탁합니다

+0

내가 틀렸다고 정정하면'created_on'을'list_display'에 추가하지 않고 정렬하는 방법을 묻고 있습니까? – jsvk

답변

0

무슨 뜻인지 짐작하십시오. 무엇을 당신이 원하는 것은 당신의 list_display에 추가하지 않고 created_on에 대한 필터를 추가 할 수 있었다면

, 당신은 단순히 list_filter

class PageAdmin(PageModelAdmin): 
    list_display = ('title', 'published_on') 
    list_filter = ('created_on',) # The comma is important here 
admin.site.register(Page, PageAdmin) 
+0

예 list_display에 추가하지 않고 created_on을 기준으로 정렬하고 싶습니다. 필터로 추가하려고했는데 어떻게 정렬 할 수 있습니까? 내 요구 사항은 관리자 목록 페이지에 링크가 있습니다. 링크를 클릭하면 목록이 내림차순으로 정렬되고 최근에 추가 된 목록이 표시됩니다. – Fresher

+0

코드를 게시하거나 오류를 게시 하시겠습니까? 나는 이것을 시도하고 관리 페이지의 항목은 열이 존재하지 않고 잘 정렬됩니다. – jsvk

0

몇 가지 옵션이 있기 때문에 추가합니다. 당신은 항상 당신의 페이지 정렬하려는 경우, 당신은 모든이에 대한 자세한 내용은

class Page(...): 
    field = ... 

    class Meta: 
     ordering = ['published_on'] 

를 조회 그들을 주문되는, 모델에 ordering를 추가 the docs

당신은 또한 특정의 검색어 세트를 무시할 수 볼 수 있습니다 modelAdmin :

class PageAdmin(...): 
    list_display = ... 

    def queryset(self, request): 
     qs = super(PageAdmin, self).queryset(request) 
     return qs.order_by('published_on') 

주문이 설정되어 있지 않지만 지금은 기억할 수없는 경우에만 작동하는 느낌이 있습니다. 이것에 대한 정보는 the docs,에 있습니다 (죄송합니다, 방법으로 직접 연결되는 링크가 없습니다)

관련 문제