Files
fastapi-best-architecture/backend/plugin/dict/model/dict_data.py
T
Wu Clan b28a4d7673 Update the primary database to postgresql (#829)
* Update the primary database to postgresql

* Delete the prints

* Fix lint

* Update models in code generation

* Delete print

* Fix the salt column type
2025-10-17 23:03:17 +08:00

35 lines
1.3 KiB
Python

from __future__ import annotations
from typing import TYPE_CHECKING
import sqlalchemy as sa
from sqlalchemy.dialects.mysql import LONGTEXT
from sqlalchemy.orm import Mapped, mapped_column, relationship
from backend.common.model import Base, id_key
if TYPE_CHECKING:
from backend.plugin.dict.model import DictType
class DictData(Base):
"""字典数据表"""
__tablename__ = 'sys_dict_data'
id: Mapped[id_key] = mapped_column(init=False)
type_code: Mapped[str] = mapped_column(sa.String(32), comment='对应的字典类型编码')
label: Mapped[str] = mapped_column(sa.String(32), comment='字典标签')
value: Mapped[str] = mapped_column(sa.String(32), comment='字典值')
color: Mapped[str | None] = mapped_column(sa.String(32), default=None, comment='标签颜色')
sort: Mapped[int] = mapped_column(default=0, comment='排序')
status: Mapped[int] = mapped_column(default=1, comment='状态(0停用 1正常)')
remark: Mapped[str | None] = mapped_column(sa.TEXT().with_variant(LONGTEXT, 'mysql'), default=None, comment='备注')
# 字典类型一对多
type_id: Mapped[int] = mapped_column(
sa.ForeignKey('sys_dict_type.id', ondelete='CASCADE'), default=0, comment='字典类型关联ID'
)
type: Mapped[DictType] = relationship(init=False, back_populates='datas')