from sqlalchemy import JSON from sqlalchemy.orm import Mapped, mapped_column from models import BaseTable, RichText class Announcement(BaseTable): __tablename__ = "announcement" id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) __message: Mapped[str] = mapped_column("message", JSON()) @property def message(self) -> RichText: return RichText.model_validate_json(self.__message) @message.setter def message_set(self, value: RichText) -> None: self.__message = value.model_dump_json()