Python Peewee:一个模型有多个表

问题描述 投票:3回答:1

我目前正在使用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,但我不知道如何对多个表使用单个模型。我需要为不同的表使用相同模型的原因是每个...

python sqlite peewee
1个回答
0
投票

我遇到了类似的问题,即我想从同一模型创建多个表,并最终找到了解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.