如何加入两个分离数据库的两个模型 python peewee
how to join two model of two separated database python peewee
我正在使用 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")
我该如何解决?
我认为在第二个数据库上使用 view
问题的最佳解决方案。
我将 users
的视图创建到 db_2
中,并且该代码有效。
我正在使用 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")
我该如何解决?
我认为在第二个数据库上使用 view
问题的最佳解决方案。
我将 users
的视图创建到 db_2
中,并且该代码有效。