feat: 妥协,只能在数据库中加对应的字段

This commit is contained in:
martsforever
2025-08-24 02:25:18 +08:00
parent 7a30b179e8
commit 5849291a21
2 changed files with 3 additions and 27 deletions
+2 -20
View File
@@ -16,26 +16,8 @@ class ProjectModel(BasicModel, table=True):
budget: float = Field(default=None, description="项目预算金额")
version: int = Field(default=None, description="项目版本号")
# 使用 PrivateAttr 声明私有属性
_spent: Optional[Decimal] = PrivateAttr(default=None)
_balance: Optional[Decimal] = PrivateAttr(default=None)
# 属性访问器
@property
def spent(self) -> Optional[Decimal]:
return self._spent
@spent.setter
def spent(self, value: Optional[Decimal]) -> None:
self._spent = value
@property
def balance(self) -> Optional[Decimal]:
return self._balance
@balance.setter
def balance(self, value: Optional[Decimal]) -> None:
self._balance = value
spent: Decimal = Field(default=None, description="项目花费金额")
balance: Decimal = Field(default=None, description="项目预算余额")
# /*---------------------------------------leader_id-------------------------------------------*/
+1 -7
View File
@@ -22,7 +22,6 @@ ProjectService = create_model_service(
after_batch_update=lambda refresh_cls_list, row_dict_list, session: set_list_spent(refresh_cls_list, session),
)
async def set_list_spent(cls_list: List[ProjectModel], session: AsyncSessionDep):
project_dict_list, project_dict_map = await query_proj_spent([item.id for item in cls_list], session)
for item in cls_list:
@@ -31,12 +30,6 @@ async def set_list_spent(cls_list: List[ProjectModel], session: AsyncSessionDep)
item.spent = target['spent']
item.balance = target['balance']
for item in cls_list:
print("==============>>>>>>>>>>>>")
print(item.id, item.spent, item.balance)
dict_val = item.model_dump()
print(dict_val.get('spent'), dict_val.get('balance'))
async def set_item_spent(cls: ProjectModel, session: AsyncSessionDep):
project_dict_list, project_dict_map = await query_proj_spent([cls.id], session)
@@ -61,4 +54,5 @@ async def query_proj_spent(proj_id_list: List[str], session: AsyncSessionDep):
# 剩余金额
dict_item['balance'] = Decimal(dict_item['budget']) - Decimal(dict_item['spent'])
project_dict_map = {item['id']: item for item in project_dict_list}
return project_dict_list, project_dict_map