Opened 15 years ago

Closed 15 years ago

#10230 closed (duplicate)

admin_order_field on callable field always pointing to ascending sort

Reported by: chris.czub@… Owned by: nobody
Component: contrib.admin Version: 1.0
Severity: Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

When I create a callable field in order to grab a field from a foreign key'd model and then try to set admin_order_field on that callable field, the template always points to "?ot=asc" in the URL, no matter if I am currently sorting ascending or descending. This means that I cannot by using the HTML controls switch to a descending sort on this field. If I change the url to "?ot=desc", it properly sorts in descending order.

Code in admin:

class OrderAdmin(admin.ModelAdmin):

list_display = ('item', 'user', 'date', 'period', 'get_item_price')
search_fields = item__name
date_hierarchy = 'date'
list_filter = date

def get_item_price(self, obj):

return "$%s"%(obj.item.price)

get_item_price.short_description = "Price"
get_item_price.admin_order_field = "itemprice"

Change History (2)

comment:1 by Chris Czub <chris.czub@…>, 15 years ago

Example code:

class OrderAdmin(admin.ModelAdmin):
    list_display = ('item', 'user', 'date', 'period', 'get_item_price')
    search_fields = ['item__name']
    date_hierarchy = 'date'
    list_filter = ['date']

    def get_item_price(self, obj):
        return "$%s"%(obj.item.price)
    get_item_price.short_description = "Price"
    get_item_price.admin_order_field = "item__price"

comment:2 by Chris Czub <chris.czub@…>, 15 years ago

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.
Back to Top