python - 如何理解django类里的方法
PHP中文网
PHP中文网 2017-04-17 17:45:32
0
2
209
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讲师

membalas semua(2)
刘奇

Saya baru sahaja mencari kod sumber, tempat save_model dipanggil, semuanya dengan parameter ini,
Sebagai contoh, Contoh 1 dan Contoh 2

刘奇

Kaedah ini dipanggil apabila model disimpan, jadi apakah tujuan reka bentuk ini?

Jawapannya ialah: Anda boleh melakukan beberapa operasi dengan mudah sebelum atau selepas menyimpan Contohnya, dalam kod yang anda siarkan, anda menetapkan keselamatan semasa menyimpan
Simpan dan mencipta Token baharu logik sangat mudah Mudah dilaksanakan.
obj ialah objek yang disimpan, borang ialah contoh ModelForm dan perubahan ialah nilai bool yang menunjukkan sama ada obj telah ditukar Jika tiada perubahan, kaedah simpan mungkin tidak dipanggil.

Saya harus mengatakan bahawa reka bentuk fungsi ini agak munasabah dan mudah.
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan