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()
我是第一次尝试使用 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()