Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-验证后似乎调用了用户预保存_Python_Django_Django Signals - Fatal编程技术网

Python Django-验证后似乎调用了用户预保存

Python Django-验证后似乎调用了用户预保存,python,django,django-signals,Python,Django,Django Signals,如果在创建或更新用户时没有提供用户名,我需要生成用户名 我想使用pre_save信号 @receiver(预保存,发送方=用户,分派uid='autocreate\u username') def create_用户名(发件人、实例、**kwargs): 如果instance.username==无: instance.username=生成\u随机\u用户名() 但用户似乎是在信号调用之前插入的 >>用户=用户(电子邮件=)machin@chouette.com') >>>user.save

如果在创建或更新用户时没有提供用户名,我需要生成用户名

我想使用
pre_save
信号

@receiver(预保存,发送方=用户,分派uid='autocreate\u username')
def create_用户名(发件人、实例、**kwargs):
如果instance.username==无:
instance.username=生成\u随机\u用户名()
但用户似乎是在信号调用之前插入的

>>用户=用户(电子邮件=)machin@chouette.com')
>>>user.save()
回溯(最近一次呼叫最后一次):
...  
IntegrityError:(1062,“用户名”项的重复条目)
它不是

默认的
username
设置为空字符串,而不是
None
,所以我这样做了

如果不是instance.username:

在我的信号回调中

如果不是实例,那么
如何。用户名: