关于 post_save 信号和创建的参数

发布于 2024-08-24 14:49:19 字数 754 浏览 5 评论 0原文

docs 说:

post_save
django.db.models.signals.post_save

created
A boolean; True if a -new- record was create.

我有这个:

from django.db.models.signals import post_save
def handle_new_user(sender, instance, created, **kwargs):
    print "--------> save() "+str(created)
post_save.connect(handle_new_user, sender=User)

当我在 shell 中执行:

u = User(username="cat")
u.save()
>>> --------> save() True
u.username = "dog"
u.save()
>>> --------> save() True

我期望 >>> --------> save() False 当我第二次 save() 时因为是更新?不是?

the docs says:

post_save
django.db.models.signals.post_save

created
A boolean; True if a -new- record was create.

and I have this:

from django.db.models.signals import post_save
def handle_new_user(sender, instance, created, **kwargs):
    print "--------> save() "+str(created)
post_save.connect(handle_new_user, sender=User)

when I do in shell:

u = User(username="cat")
u.save()
>>> --------> save() True
u.username = "dog"
u.save()
>>> --------> save() True

I expect a >>> --------> save() False when I save() the second time because is an update? not?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

§对你不离不弃 2024-08-31 14:49:19

似乎您已经实现了自己的用户,它对用户名没有唯一的约束?

Seems like you have implemented your own User which doesn't have a unique constraint on username?

云柯 2024-08-31 14:49:19

我建议您使用User.objects.create_user来避免批量操作。

I suggest you use User.objects.create_user to avoid bulk operation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文