2010-12-31 8 views
3

あなたの助けを借りて、私の管理フィールドにUserProfile情報を表示する方法を知りました。今私はこれらのフィールドを適切に並べ替える方法を考え出したい。私は近くにいる。Django - 管理者のuserprofileフィールドで並べ替え

class EmployerProfileAdmin(UserAdmin): 
    inlines = [EmployerProfileInline, ] 
    def company(self): 
     return self.get_profile().company 
    company.admin_order_field = 'employerprofile' 
    list_display = ('username','first_name','last_name',company,'email','password',) 

これは私が私のUserProfile(EmployerProfile)から会社のフィールドを並べ替えるのですが、私は、ユーザーにフィールドに応じてそれをソートする必要がありましょう。ユーザーは 'employerprofile'を持っていますが、それはオブジェクト全体です。 djangoはそのフィールドをどのようにソートするかを知っていますか?私はEmployerProfileクラスで上書きすることができますか?

ありがとうございます!

+0

正確にご注文しようとしていますか?他のモデルのコードは役に立ちます。 –

答えて

1

Honzaが言ったように、何を注文しようとしていますか?

一般に、管理変更リストページの順序は、モデルのデフォルトの順序に従うか、ModelAdmin.orderingによってリストまたはタプルとして指定できます。

1

おそらく、あなたはmodel__fieldアプローチを試してみることができますか? 他の人たちは、全体の問題を知らないと言うが、

class Meta: 
    ordering = [ "user__fieldname" ] 

は(テストしていない)仕事かもしれませんが。 ForeignKeyである "user"フィールドがあり、フィールド名が外部モデルに存在する場合に限ります。

だから、のようなもの:

class User(object): 
    fieldname = models.CharField(max_length = 255) 

class Profile(object) 
    class Meta: 
     ordering = [ "user__fieldname" ] 
    user = models.ForeignKey(User) 
関連する問題