XYHLF / App /routers /users /models.py
Mbonea's picture
removed pool erros
e558c69
from tortoise import fields, models
from tortoise.contrib.pydantic.creator import pydantic_model_creator, pydantic_queryset_creator
from tortoise.queryset import QuerySet
class User(models.Model):
id = fields.IntField(pk=True)
username = fields.CharField(max_length=50, unique=True)
email = fields.CharField(max_length=100, unique=True)
hashed_password = fields.CharField(max_length=128)
created_at = fields.DatetimeField(auto_now_add=True)
@staticmethod
async def get_list(data):
if type(data) == QuerySet:
parser=pydantic_queryset_creator(User)
return await parser.from_queryset(data)
async def to_dict(self):
if type(self) == User:
parser=pydantic_model_creator(User)
return await parser.from_tortoise_orm(self)
class Watchlist(models.Model):
id = fields.IntField(pk=True)
user = fields.ForeignKeyField("models.User", related_name="watchlist")
stock = fields.ForeignKeyField("models.Stock", null=True, related_name="watching")
utt = fields.ForeignKeyField("models.UTTFund", null=True, related_name="watching")
@staticmethod
async def get_list(data):
if type(data) == QuerySet:
parser=pydantic_queryset_creator(Watchlist)
return await parser.from_queryset(data)
async def to_dict(self):
if type(self) == models.Model:
parser=pydantic_model_creator(Watchlist)
return await parser.from_tortoise_orm(self)