model.py 768 B

1234567891011121314151617181920212223
  1. from typing import TYPE_CHECKING
  2. from sqlalchemy import String
  3. from sqlalchemy.orm import Mapped, mapped_column
  4. from app.core.base_model import ModelMixin, TenantMixin, UserMixin
  5. if TYPE_CHECKING:
  6. pass
  7. class ApplicationModel(ModelMixin, TenantMixin, UserMixin):
  8. """
  9. 应用系统表
  10. """
  11. __tablename__: str = "app_portal"
  12. __table_args__: dict[str, str] = {"comment": "门户应用"}
  13. __loader_options__: list[str] = ["created_by", "updated_by"]
  14. name: Mapped[str] = mapped_column(String(64), nullable=False, comment="应用名称")
  15. access_url: Mapped[str] = mapped_column(String(500), nullable=False, comment="访问地址")
  16. icon_url: Mapped[str | None] = mapped_column(String(300), nullable=True, comment="应用图标URL")