python - 如何理解django类里的方法
PHP中文网
PHP中文网 2017-04-17 17:45:32
0
2
211
class AccountAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        obj.security = get_random_code(10)
        obj.password = get_password(obj.password, obj.security)
        obj.save()
        Token.objects.create(user=obj)

admin.site.register(Account, AccountAdmin)

save_model()方法里这么多参数用来干什么,还是默认的?
看了下调用,根本就没有传入这么多值嘛。

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(2)
刘奇

save_model が呼び出されるソース コードをすべて次のパラメーターで検索しました。
例 1 と例 2

いいねを押す +0
刘奇

このメソッドはモデルが保存されるときに呼び出されますが、この設計の目的は何でしょうか?

答えは次のとおりです。たとえば、投稿したコードでは、保存時にセキュリティを設定し、保存
して新しいトークンを作成します。ロジックは非常にシンプルで、実装も簡単です。 obj は保存されたオブジェクト、form は ModelForm インスタンス、change は obj が変更されたかどうかを示すブール値です。変更がない場合、save メソッドは呼び出されない可能性があります。

この機能の設計は非常に合理的で便利だと言わざるを得ません。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート