关于Peewee Import
forum_db = SqliteDatabase("forum.db")
class BaseModel(Model):
class Meta:
database = forum_db
class User(BaseModel):
name = CharField(unique = True)
id = IntegerField()
class Post(BaseModel):
id = IntegerField()
message = TextField()
user_id = ForeignKeyField(User, backref = "id")
class Thread(BaseModel):
id = IntegerField()
title = CharField()
user_id = ForeignKeyField(User, backref = "id")
posts = ForeignKeyField(Post)
if __name__ == "__main__":
forum_db.connect()
forum_db.create_tables([User, Post, Thread])
User.create(id = 1, name = "Cameron")
字符串
'''
我正在为一个简单的论坛API创建一个数据库。虽然当我试图创建一个用户,它给了我的标题中的错误。我输入了“id = 1”,所以我不确定如何解决这个问题。
1条答案
按热度按时间gkl3eglg1#
您可能希望使用自动递增主键。它们被隐式地创建为“id = AutoField()”,但您可以显式地定义一个为:
字符串
您已经指定了id =
IntegerField
,这要求您显式地设置该值。也不相关,但您的backref名称不正确。我觉得你不太了解他们。在您的示例中,它们将是
users
。请参考初学者文档和快速入门:http://docs.peewee-orm.com/en/latest/peewee/quickstart.html#quickstart