嘿,当创建 django 用户时,我有一个信号,我也手动将该用户插入到 phpbb 表中。代码如下:
@receiver(post_save, sender=User)
def user_created_signal(sender, **kwargs):
if kwargs['created']:
user = kwargs['instance']
fields = {
'username': str(user.username),
'username_clean': str(user.username),
'user_password': "",
'user_email': str(user.email),
'group_id': 7,
'user_timezone': 0,
'user_dst': "",
'user_lang': "sv",
'user_type': 0,
'user_actkey': "",
'user_ip': "",
'user_regdate': "",
'user_inactive_reason': "",
'user_inactive_time': "",
'user_permissions': 0,
'user_sig': "",
'user_form_salt': "gg54jhg345",
}
cursor = connection.cursor()
# Add user to phpbb
try:
cursor.execute("INSERT INTO spelutveckla_se.phpbb_users " + str(tuple(fields.keys())).replace("'", "") + " VALUES" + str(tuple(fields.values())))
except Warning:
pass
我不断收到此错误消息:(1062,“重复条目'test_username'键'username_clean'”)
我可以在 phpbb_user 表中看到该用户已创建。但是当我删除用户并重试时,会出现相同的错误。我也尝试过使用不同的用户名。就好像代码被执行了不止一次,但我试图将断点/引发的异常排除在外,但我找不到任何代码被多次执行的迹象......
这是SQL:
“插入到 spelutveckla_se.phpbb_users(用户名,user_timezone,user_form_salt,username_clean,user_dst,user_lang,user_password,user_sig,user_type,user_actkey,user_ip,user_permissions,user_regdate,group_id,user_inactive_reason,user_email,user_inactive_time)值('test_username',0,' gg54jhg345','test_username','','sv','','',0,'','',0,'',7,'','test@gmail.com','')
请帮忙!!谢谢你。