关于post_save信号和created参数
文档中提到:
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)
当我在命令行中执行:
u = User(username="cat")
u.save()
>>> --------> save() True
u.username = "dog"
u.save()
>>> --------> save() True
我期待在第二次调用 >>> --------> save() False
时,因为这是一次更新,不是吗?
2 个回答
0
我建议你使用 User.objects.create_user
这个方法,这样可以避免批量操作带来的问题。
0
看起来你自己实现的用户系统里,用户名没有设置唯一性限制吧?