我使用peewee来使用Mysql数据库。
import peewee
db_1 = peewee.MySQLDatabase('db_1', **{'user': 'root'})
db_2 = peewee.MySQLDatabase('db_2', **{'user': 'root'})
class User(peewee.Model):
id = peewee.PrimaryKeyField()
username = peewee.CharField()
class Meta:
database = db_1
class Tweet(peewee.Model):
id = peewee.PrimaryKeyField()
tweet = peewee.CharField()
user = peewee.IntegerField(db_column='user_id')
class Meta:
database = db_2
我想执行此代码:
m = Tweet().select(Tweet, User).join(
User, join_type=JOIN_INNER, on=User.id == Tweet.user
).where(
User.id == 13
)
但它引发了这个错误:
peewee.ProgrammingError: (1146, "Table 'db_2.user' doesn't exist")
我该如何解决?
答案 0 :(得分:2)
我认为最好在第二个数据库上使用问题view
的解决方案。
我将users
的视图创建为db_2
,并且该代码可以正常工作。