feat: get peoples api will return creation time of people
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
|
from datetime import datetime
|
||||||
from sqlalchemy import Column, Integer, String, Text, DateTime, func
|
from sqlalchemy import Column, Integer, String, Text, DateTime, func
|
||||||
from utils.rldb import RLDBBaseModel
|
from utils.rldb import RLDBBaseModel
|
||||||
from utils.error import ErrorCode, error
|
from utils.error import ErrorCode, error
|
||||||
@@ -49,6 +50,8 @@ class People:
|
|||||||
comments: Dict[str, str]
|
comments: Dict[str, str]
|
||||||
# 封面
|
# 封面
|
||||||
cover: str = None
|
cover: str = None
|
||||||
|
# 创建时间
|
||||||
|
created_at: datetime = None
|
||||||
|
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
# 初始化所有属性,从kwargs中获取值,如果不存在则设置默认值
|
# 初始化所有属性,从kwargs中获取值,如果不存在则设置默认值
|
||||||
@@ -63,19 +66,17 @@ class People:
|
|||||||
self.introduction = kwargs.get('introduction', {}) if kwargs.get('introduction', {}) is not None else {}
|
self.introduction = kwargs.get('introduction', {}) if kwargs.get('introduction', {}) is not None else {}
|
||||||
self.comments = kwargs.get('comments', {}) if kwargs.get('comments', {}) is not None else {}
|
self.comments = kwargs.get('comments', {}) if kwargs.get('comments', {}) is not None else {}
|
||||||
self.cover = kwargs.get('cover', None) if kwargs.get('cover', None) is not None else None
|
self.cover = kwargs.get('cover', None) if kwargs.get('cover', None) is not None else None
|
||||||
|
self.created_at = kwargs.get('created_at', None)
|
||||||
|
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
# 返回对象的字符串表示,包含所有属性
|
# 返回对象的字符串表示,包含所有属性
|
||||||
return (f"People(id={self.id}, name={self.name}, contact={self.contact}, gender={self.gender}, "
|
return (f"People(id={self.id}, name={self.name}, contact={self.contact}, gender={self.gender}, "
|
||||||
f"age={self.age}, height={self.height}, marital_status={self.marital_status}, "
|
f"age={self.age}, height={self.height}, marital_status={self.marital_status}, "
|
||||||
f"match_requirement={self.match_requirement}, introduction={self.introduction}, "
|
f"match_requirement={self.match_requirement}, introduction={self.introduction}, "
|
||||||
f"comments={self.comments}, cover={self.cover})")
|
f"comments={self.comments}, cover={self.cover}, created_at={self.created_at})")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_dict(cls, data: dict):
|
def from_dict(cls, data: dict):
|
||||||
if 'created_at' in data:
|
|
||||||
# 移除 created_at 字段,避免类型错误
|
|
||||||
del data['created_at']
|
|
||||||
if 'updated_at' in data:
|
if 'updated_at' in data:
|
||||||
# 移除 updated_at 字段,避免类型错误
|
# 移除 updated_at 字段,避免类型错误
|
||||||
del data['updated_at']
|
del data['updated_at']
|
||||||
@@ -99,6 +100,7 @@ class People:
|
|||||||
introduction=json.loads(data.introduction) if data.introduction else {},
|
introduction=json.loads(data.introduction) if data.introduction else {},
|
||||||
comments=json.loads(data.comments) if data.comments else {},
|
comments=json.loads(data.comments) if data.comments else {},
|
||||||
cover=data.cover,
|
cover=data.cover,
|
||||||
|
created_at=data.created_at,
|
||||||
)
|
)
|
||||||
|
|
||||||
def to_dict(self) -> dict:
|
def to_dict(self) -> dict:
|
||||||
@@ -115,6 +117,7 @@ class People:
|
|||||||
'introduction': self.introduction,
|
'introduction': self.introduction,
|
||||||
'comments': self.comments,
|
'comments': self.comments,
|
||||||
'cover': self.cover,
|
'cover': self.cover,
|
||||||
|
'created_at': int(self.created_at.timestamp()) if self.created_at else None,
|
||||||
}
|
}
|
||||||
|
|
||||||
def to_rldb_model(self) -> PeopleRLDBModel:
|
def to_rldb_model(self) -> PeopleRLDBModel:
|
||||||
|
|||||||
Reference in New Issue
Block a user