如何解决如何在Postgresql数据库中复制记录?
我有两个表格Structure和Bandit页面:
class Structure(db.Model):
__tablename__ = 'structure'
arm_id = db.Column(db.Integer,primary_key=True,unique=True)
page_url = db.Column(db.String())
class Bandit_pages(db.Model):
__tablename__ = 'bandit_pages'
campaign_id = db.Column(db.String())
arm_id = db.Column(db.Integer)
status = db.Column(db.Boolean,default=False)
__table_args__ = (
PrimaryKeyConstraint('campaign_id','arm_id'),{},)
这是要保存的记录
select * from structure ;
page_url | arm_id
--------------------------------------------+--------
XYZ.php | 0
mt3 | 1
(2 rows)
proj=# select * from bandit_pages ;
campaign_id | arm_id | status
-------------+--------+--------
0 | 0 | t
72297098 | 1 | f
(2 rows)
我想将这些值存储为
proj=# select * from bandit_pages ;
campaign_id | arm_id | status
-------------+--------+--------
0 | 0 | t
0 | 0 | f
72297098 | 0 | t
72297098 | 1 | f
(4 rows)
我的代码是
def init(self):
#code here
self.bandit_pages = {}
try:
for arm_id in self.structure:
new_bandit_page = Bandit_pages(campaign_id=str(arm_id),arm_id=arm_id,status=True)
db.session.add(new_bandit_page)
db.session.commit()
except Exception as e:
print("exception in BANDPAGEINIT insert",e)
db.session.rollback()
我尝试添加一条额外的行new_bandit_page_1 = Bandit_pages(campaign_id=str(arm_id),status=True)
,并使用db.session.add(new_bandit_page_1)将其添加了,但是没有添加吗?不添加的原因可能是什么?还有其他添加方式吗?请帮忙。
编辑:我还尝试通过在db.session.add_all([new_bandit_page,new_bandit_page_1])上添加额外的一行new_bandit_page_1 = Bandit_pages(campaign_id=str(arm_id),status=True)
,这也没有帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。