2016-09-19 2 views
0

Djangoのドキュメント Django DocumentジャンゴModelAdminのカスタムメソッドをobjパラメータ

では、コードを以下ました。

from django.contrib import admin 

class AuthorAdmin(admin.ModelAdmin): 
    fields = ('name', 'title', 'view_birth_date') 

    def view_birth_date(self, obj): 
     return obj.birth_date 

    view_birth_date.empty_value_display = '???' 

このobjパラメータがどこから来た私は、カスタムメソッドのview_birth_date(自己、OBJ)には理解していませんか?最後の行で

注意、それは

view_birth_date.empty_value_display = '???' 

、この関数を呼び出したが、OBJのための任意のパラメータを渡しませんでした。私はどのようにobjが価値を持っているのか分かりません。

ありがとうございます!

答えて

2

このobjパラメータはどこから来たのですか?view_birth_date(self, obj)カスタムメソッドでわかりません。

このメソッドはDjangoの機械によって呼び出され、objもこのメソッドに渡されます。これはあらかじめ定義されたインターフェースです。

view_birth_date.empty_value_display = '???' ただし、objのパラメータは一切渡しませんでした。私はどのようにobjが値を得たか分からない。

この行はあなたの質問とは関係ありません。また、インタフェースによれば、Djangoはメソッド(関数)を見て、empty_value_display属性を探して、現在の値が空のときに開発者がどの値を参照するかを調べます。

はい、奇妙に見えますが、Djangoがどのように動作し、作成者がそれを動作させたかということだけです。彼らはこのインタフェースを選択しました。インタフェースを見つけるためにドキュメントを使用するだけです。

+0

ありがとうございます!私は周りにgoogleと関連資料を見つけることができませんでした。このコンセプトを理解するためのリンクを教えてください。 – user890207

+0

唯一見つかったのはhttps://www.webforefront.com/django/setupdjangomodelsindjangoadmin.htmlです。 – warvariuc

+0

ありがとうございます! – user890207

関連する問題