some refactoring
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
from pydantic import Field, computed_field
|
||||
from sqlalchemy import ForeignKey, String, UniqueConstraint
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
from sqlalchemy.orm import Mapped, Session, mapped_column, relationship
|
||||
|
||||
from src.models._common import BaseModelDb, ExportBaseModel, _hash
|
||||
from src.models.common import BaseModelDb, ExportBaseModel, hashify
|
||||
|
||||
|
||||
class Category(ExportBaseModel):
|
||||
@@ -12,7 +12,7 @@ class Category(ExportBaseModel):
|
||||
@computed_field # type: ignore[prop-decorator]
|
||||
@property
|
||||
def hash_id(self) -> str:
|
||||
return _hash(self.name, self.parent)
|
||||
return hashify(self.name, self.parent)
|
||||
|
||||
@classmethod
|
||||
def from_str(cls, s: str) -> Category | None:
|
||||
@@ -54,3 +54,8 @@ class CategoryDb(BaseModelDb):
|
||||
)
|
||||
children = relationship("CategoryDb", back_populates="parent")
|
||||
budgets = relationship("CategoryBudgetDb", back_populates="category")
|
||||
|
||||
|
||||
def add_category(session: Session, category_name: str):
|
||||
category = Category.from_str(category_name)
|
||||
session.add(category)
|
||||
|
||||
Reference in New Issue
Block a user