peewee外键的使用
时间: 2023-05-19 16:07:18 浏览: 46
Peewee外键的使用可以通过定义外键字段来实现,例如:
class User(BaseModel):
username = CharField()
class Post(BaseModel):
user = ForeignKeyField(User, backref='posts')
content = TextField()
在这个例子中,Post模型中的user字段是一个外键,它引用了User模型。backref参数指定了反向引用,可以通过user.posts来访问一个用户的所有帖子。
相关问题
peewee外键的使用添加数据
可以使用ForeignKeyField来定义外键,例如:
from peewee import *
class User(Model):
username = CharField()
class Post(Model):
user = ForeignKeyField(User, backref='posts')
content = TextField()
user = User.create(username='John')
post = Post.create(user=user, content='Hello World!')
这样就可以创建一个User和Post的关联,一个User可以有多个Post,而一个Post只能属于一个User。
peewee model 使用枚举
在 Peewee 模型中使用枚举可以通过 `EnumField` 字段来实现。下面是一个示例:
```python
from enum import Enum
from peewee import *
# 定义一个枚举类
class Gender(Enum):
MALE = 'Male'
FEMALE = 'Female'
# 定义 Peewee 模型
class Person(Model):
name = CharField()
gender = EnumField(choices=Gender)
class Meta:
database = db
# 创建数据库连接
db = SqliteDatabase('my_database.db')
# 创建表格
db.create_tables([Person])
# 插入数据
person = Person(name='John', gender=Gender.MALE)
person.save()
# 查询数据
male_persons = Person.select().where(Person.gender == Gender.MALE)
for person in male_persons:
print(person.name, person.gender)
```
在上述示例中,我们定义了一个名为 `Gender` 的枚举类,并在 `Person` 模型中使用了 `EnumField` 字段来存储性别信息。可以通过 `choices` 参数指定枚举类的选项。在插入和查询数据时,可以直接使用枚举类中的值进行操作。