2016-12-08 11 views
0

我需要幫助與Python代碼環路添加數據與db.commit()SQLAlchemy的PYTHON

copy_groups = Group() 
groups = Group.query.filter(Group.project_id == curent_project_id) 
for group in groups: 
    copy_groups.project_id = curent_project.id 
    copy_groups.name = group.name 
    db.session.add(copy_groups) 
db.session.commit() 

當我用這個代碼,它只是最後group加入,但我需要添加所有groupgroups

當我用

copy_groups = Group() 
groups = Group.query.filter(Group.project_id == curent_project_id) 
for group in groups: 
    copy_groups.project_id = curent_project.id 
    copy_groups.name = group.name 
    db.session.add(copy_groups) 
    db.session.commit() 

我有錯誤。

但我需要添加所有groupgroups

請幫我解決這個問題。謝謝。

+1

創建'copy_groups =羣組()''內循環for' – furas

+0

@furas sqlalchemy.exc.IntegrityError sqlalchemy.exc.IntegrityError:(pymysql.err.IntegrityError)(1062,「重複條目 '所有者-60' (project_id,active,name,manager_id)VALUES(%(project_id)s,%(active)s,%(name)s,%(manager_id)s('group_project_id_index''))[SQL:'INSERT INTO'group' )'] [參數:{'manager_id':無,'project_id':60,'name':'所有者','active':1}] – Mark

回答

0

我的代碼是爲了複製項目,我從來沒有發佈的代碼,是一個行

copy_project.create_default_groups (current_user, tenant = tenant) 

由於其拷貝進行復制,這就是爲什麼所有的費爾。刪除這條線,一切工作正常。

+0

這是最終答案 – Mark