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()方法里这么多参数用来干什么,还是默认的?
看了下调用,根本就没有传入这么多值嘛。
Je viens de chercher le code source, où save_model est appelé, le tout avec ces paramètres,
Par exemple, exemple 1 et exemple 2
Cette méthode est appelée lorsque le modèle est enregistré, alors quel est le but de cette conception ?
La réponse est : vous pouvez facilement effectuer certaines opérations avant ou après la sauvegarde. Par exemple, dans le code que vous avez publié, vous définissez la sécurité lors de la sauvegarde
前
Enregistrez
后
et créez un nouveau jeton. la logique est très simple Facile à mettre en œuvre.obj est l'objet enregistré, form est une instance de ModelForm et change est une valeur booléenne indiquant si l'obj a été modifié. S'il n'y a pas de changement, la méthode de sauvegarde ne peut pas être appelée.
Je dois dire que la conception de cette fonction est tout à fait raisonnable et pratique.