嘿 当创建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,“密钥'username_clean'的重复条目'test_username'”)
我可以在phpbb_user表中看到用户已经创建。但是,当我删除用户并再次尝试时,会出现相同的错误。我也尝试过不同的用户名。这就像代码被执行了不止一次,但我试图将断点/引发的异常放到fins中,但我找不到任何代码被执行多次的迹象......
这是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) VALUES('test_username',0, 'gg54jhg345','test_username','', 'sv','','',0,'','',0,'',7,'', 'test@gmail.com','')
请帮忙!!谢谢。
答案 0 :(得分:2)
我想我有类似的问题。我移动了将信号添加到另一个__init.py__
文件的代码。对于前者从yourapp内的__init__
到根项目文件夹中的init文件(或反向)。也许这会有所帮助。