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()方法里这么多参数用来干什么,还是默认的?
看了下调用,根本就没有传入这么多值嘛。
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.