Fix pre_save_admin

This commit is contained in:
long2ice
2021-05-20 09:37:52 +08:00
parent a3c01fc42c
commit c75b965c05
2 changed files with 6 additions and 2 deletions

View File

@@ -70,8 +70,11 @@ class UsernamePasswordProvider(Provider):
signals.pre_save(self.admin_model)(self.pre_save_admin)
async def pre_save_admin(self, _, instance: AbstractAdmin, using_db, update_fields):
db_obj = await instance.get(pk=instance.pk)
if db_obj.password != instance.password:
if instance.pk:
db_obj = await instance.get(pk=instance.pk)
if db_obj.password != instance.password:
instance.password = hash_password(instance.password)
else:
instance.password = hash_password(instance.password)
async def login(self, request: Request, redis: Redis = Depends(get_redis)):