feat: 使用 uvloop 替代 asyncio,引入 model

This commit is contained in:
amtoaer
2023-11-23 20:43:23 +08:00
parent 425b1cb60b
commit 58d9986ab2
6 changed files with 106 additions and 1 deletions

44
models.py Normal file
View File

@@ -0,0 +1,44 @@
from tortoise import Tortoise, fields
from tortoise.models import Model
from constants import DEFAULT_DATABASE_PATH
class FavoriteList(Model):
"""收藏列表"""
id = fields.IntField(pk=True)
name = fields.CharField(max_length=255)
created_at = fields.DatetimeField(auto_now_add=True)
updated_at = fields.DatetimeField(auto_now=True)
class Upper(Model):
"""up主"""
id = fields.IntField(pk=True)
name = fields.CharField(max_length=255)
created_at = fields.DatetimeField(auto_now_add=True)
updated_at = fields.DatetimeField(auto_now=True)
class FavoriteItem(Model):
"""收藏条目"""
id = fields.IntField(pk=True)
name = fields.CharField(max_length=255)
bvid = fields.CharField(max_length=255)
favorite_list = fields.ForeignKeyField(
"models.FavoriteList", related_name="items"
)
upper = fields.ForeignKeyField("models.Upper", related_name="uploads")
created_at = fields.DatetimeField(auto_now_add=True)
updated_at = fields.DatetimeField(auto_now=True)
async def init_model():
await Tortoise.init(
db_url=f"sqlite://{DEFAULT_DATABASE_PATH}",
modules={"models": ["models"]},
)
await Tortoise.generate_schemas()