Peewee 正在创建仅包含 ID 的 table,未创建其他 fields/columns

Peewee is creating the table with just the ID no other fields/columns are created

我是第一次尝试使用 peewee,我需要创建与名为 Applicant 的单个模型关联的 table。问题是 table 只是用 ID 字段创建的,没有别的

Pewee 建议使用基本型号 class:

from peewee import *

db = SqliteDatabase('applicants.db')


class BaseModel(Model):
    class Meta:
        database = db

我的申请人class就是这样定义的

class Applicant(BaseModel):
    email: CharField(max_length=200, unique=True)
    process_status: IntegerField(index=True)
    fullName: CharField(max_length=200)
    slackId: CharField(max_length=30)
    last_sent_time: DateTimeField()
    last_recieved_time: DateTimeField()

这就是我尝试创建 table

的方式

# Start your app
if __name__ == "__main__":
    conn = db.connect()
    db.create_tables([Applicant])

您已使用类型提示语法而不是初始化来定义您的模型字段。这是一个容易犯的错误,因为您可能正在考虑每个字段的数据库类型,但实际上您需要使用代表每个数据库列的实例化“类型对象”来初始化 class 变量。

只需将 : 更改为 =:

class Applicant(BaseModel):
    email = CharField(max_length=200, unique=True)
    process_status = IntegerField(index=True)
    fullName = CharField(max_length=200)
    slackId = CharField(max_length=30)
    last_sent_time = DateTimeField()
    last_recieved_time = DateTimeField()