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:
在我的信号回调中如果不是实例,那么
如何。用户名:
?