gpt4 book ai didi

python - Django 检查用户何时创建

转载 作者:太空宇宙 更新时间:2023-11-04 09:05:26 25 4
gpt4 key购买 nike

因此在任何 Django 项目中,通过覆盖 save 方法来判断对象是否已创建是相当简单的:

def save(self, *args, **kwargs):
created = False
if not self.pk:
created = True
super(ModelName, self).save(*args,**kwargs)
if created:
#do what you want or call a signal

但是我需要在从 django.contrib.auth.models.User 创建一个 User 之后调用一个函数.我宁愿不必实际编辑用户模型的 save 方法。

我该怎么做呢?

注意事项:

使用 pre_save 将不起作用,因为模型中的所有信息都将不可用,而这是必要的。

最佳答案

您可以使用 post_save信号。

from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver

@receiver(post_save)
def do_your_thing(sender, **kwargs):
if sender is User:
if kwargs["created"]:
print kwargs["instance"].password
# do your thing

关于python - Django 检查用户何时创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21095213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com