2017-01-26 7 views
0

adminにカスタム列を使用してレコードをソートする方法を理解できません - hours_to_deadline(列ヘッダーをクリックしたとき)。私の場合、それはタイムディスタです。Django - カスタム列別にレコードをソート

class JobAdmin(SuperModelAdmin): 
    ... 
    list_display = ['id', 'identificator', 'created', 'invoice__estimated_delivery','hours_to_deadline','customer__username', 'language_from__name', 'language_to__name', 
        'delivery__status', 'confirmed', 'approved', 'invoice__final_price'] 
    ... 


    def hours_to_deadline(self,obj): 
     try: 
      return (obj.invoice.estimated_delivery - now()) 
     except: 
      return None 

enter image description here

私は、このソリューションが見つかりました:https://stackoverflow.com/a/15935591/3371056

をしかし、私の場合、私はちょうどsumまたは類似した何かをすることはできません。

あなたは何をすべきか知っていますか?

答えて

-2

答えは:発注=(「-id」)

class JobAdmin(SuperModelAdmin): 

    list_display = ['id', 'identificator', 'created', 'invoice__estimated_delivery','hours_to_deadline','customer__username', 'language_from__name', 'language_to__name', 
        'delivery__status', 'confirmed', 'approved', 'invoice__final_price'] 
    ordering = ('-id',) 


    def hours_to_deadline(self,obj): 
     try: 
      return (obj.invoice.estimated_delivery - now()) 
     except: 
      return None 
+0

で私はだけtime_to_deadlineを使用して注文したいです、管理者が注文をクリックすると –

1

あなたはすべてのソートがデータベースレベルで行われているため、実際のデータベースフィールドではないフィールドで注文することができません。それはデータベースフィールドに何らかの形で関連する値を持っている場合は、モデル定義でそのような何かを行うことができます。

hours_to_deadline.admin_order_field = 'database_field' 

あなたはそれについての詳細を読むことができhttps://docs.djangoproject.com/en/1.10/ref/contrib/admin/

関連する問題