擅长:python、mysql、java
<p>下一步也许不是你问题的确切答案,但我自己尝试的——成功地——就是使用<em>剧场。代理实例,并引用innerclass Meta中相应的代理。我想如果没有代理也行。但是,似乎您正在寻找跨模式查询,并且已经了解了我刚才提出的问题。在</p>
<pre><code>#!/usr/bin/python
import sqlite3
import peewee
from peewee import *
from playhouse.proxy import *
database_a_proxy = Proxy()
database_b_proxy = Proxy()
class BaseModelA(Model):
class Meta:
database = database_a_proxy
class BaseModelB(Model):
class Meta:
database = database_b_proxy
class RelationInSchemaA(BaseModelA):
textfield = CharField()
class RelationInSchemaB(BaseModelB):
textfield = CharField()
database_a = SqliteDatabase('schemaA', **{})
database_b = SqliteDatabase('schemaB', **{})
database_a_proxy.initialize(database_a)
database_b_proxy.initialize(database_b)
try:
RelationInSchemaA.create_table()
RelationInSchemaB.create_table()
except:
pass
RelationInSchemaA.create(textfield='Hello')
RelationInSchemaB.create(textfield='PeeWee')
</code></pre>
<p>好吧,这是可能的手工生成的代码从pwiz.py. 我相信还有一种更优雅的方法来实现这一点,使用某种工厂,但我没有在Python和PeeWee上花费太多时间。如果是的话,pwiz.py我想也应该有一个额外的标志。在</p>