Python 在使用“管理”面板插入模型字段之前,对其进行预处理
我使用Django管理界面可以轻松地修改现有MySQL数据库中的条目。我的一个表包含一个密码列,其中包含用户的哈希密码。现在,当我使用管理面板创建一个新用户时,我必须从外部计算密码散列,然后将其粘贴到管理面板中。我是否可以提供某种类型的“预插入钩子”,以便直接输入密码,钩子计算哈希值并将其传递给要保存的管理面板?您可以使用这样的表单验证新密码匹配,然后在其Python 在使用“管理”面板插入模型字段之前,对其进行预处理,python,django,django-models,django-admin,Python,Django,Django Models,Django Admin,我使用Django管理界面可以轻松地修改现有MySQL数据库中的条目。我的一个表包含一个密码列,其中包含用户的哈希密码。现在,当我使用管理面板创建一个新用户时,我必须从外部计算密码散列,然后将其粘贴到管理面板中。我是否可以提供某种类型的“预插入钩子”,以便直接输入密码,钩子计算哈希值并将其传递给要保存的管理面板?您可以使用这样的表单验证新密码匹配,然后在其save方法中相应地设置密码: def save(self, commit=True): password = self.cleane
save
方法中相应地设置密码:
def save(self, commit=True):
password = self.cleaned_data["password1"]
self.user.set_password(password)
if commit:
self.user.save()
return self.user
您还可以覆盖用户的save方法,但这更像是一种大锤式的方法