我目前正在使用Peewee在Python上实现SQLite,但我不知道如何对多个表使用单个模型。我对不同的表需要相同的模型的原因是,每个表将具有大量的行。我需要在它们之间执行join()
操作,因此仅直接更改_meta.db_table
将无济于事。
我已经在SO中搜索了类似的问题(例如下面的问题,但是他们并没有真正解决我的问题:
我的简化用例:
from peewee import *
database = SqliteDatabase('test.db')
class BaseModel(Model):
class Meta:
database = database
class Student(BaseModel):
name = TextField()
date_of_birth = DateField()
class Course(BaseModel):
student = ForeignKeyField(rel_model=Student, to_field='id', unique=True)
score = IntegerField()
因此,我想制作多个具有相同模型Course()
的表,例如Bio101和Bio201,后来我想为每个重叠的学生(在这两个课程中都注册过的学生)比较这两门课程的score
。
我应该如何解决此问题,而无需实际更改数据库架构/结构(由于向后兼容)?
我目前正在使用Peewee在Python上实现SQLite,但我不知道如何对多个表使用单个模型。我需要为不同的表使用相同模型的原因是每个...
我遇到了类似的问题,即我想从同一模型创建多个表,并最终找到了解决方案。