为了将相同的数据插入到不同架构中的同一组表中(有关移动应用程序的数据,其中应用程序 ID 是主键,但应用程序是跨平台的并且存在于不同平台上。每个平台的架构,因此 pp id 不会干扰具有它作为fk)。
我已经拥有了一些基础设施,但我没想到会有这样的要求。对我来说,最简单的方法是将现有模型类绑定到某些 db+schema_1+table_name 将数据插入第一个模式,然后以某种方式将类元更新为 db+schema_2+table_name 并再次调用插入。
例如,如果我有以下带有元集的基类:
class BaseClass_1:
class Meta_1:
legacy_table_names = False
database = db
schema = 'schema_1'
以及另一个模式的另一个元:
class Meta_2:
legacy_table_names = False
database = db
schema = 'schema_2'
primary_key = CompositeKey('app_id')
db_table = 'table_name'
和模型类:
class Table(BaseClass_1):
date = DateTimeField()
app_id = TextField()
class Meta:
primary_key = CompositeKey('app_id')
db_table = 'table_name'
那么如果我执行以下操作:
Table.insert_many(some_data)
Table._meta = Meta_2
Table._meta = Meta_2()
我看到设置了元类或对象,而不是修改之前的“元数据”对象。不幸的是我没有找到如何实例化元数据对象。有没有可能,这个研究方向有希望吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)