【发布时间】:2016-02-18 16:59:30
【问题描述】:
我需要用另一个表的内容替换一个表的全部内容。两个表具有相同的字段。
我没有看到任何通过Peewee 执行ALTER TABLE 语句的方法,所以我决定使用DROP TABLE、CREATE TABLE 和INSERT ... FROM 语句的组合,如下所示:
TableInWhichIWantToReplaceAllData.drop_table()
db.create_table(TableInWhichIWantToReplaceAllData)
TableWithNewData.insert_from(
# ???,
# ???
).execute()
但问题是如何将 all 字段指定为 SELECTed 和 INSERTed?我不想像示例中那样手动指定所有这些:
source = (User
.select(User.username, fn.COUNT(Tweet.id))
.join(Tweet, JOIN.LEFT_OUTER)
.group_by(User.username))
UserTweetDenorm.insert_from(
[UserTweetDenorm.username, UserTweetDenorm.num_tweets],
source).execute()
还有其他方法吗?
【问题讨论】:
标签: python mysql python-2.7 orm peewee