knowledge_model.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import json
  2. from datetime import datetime
  3. from typing import Optional
  4. from pydantic import BaseModel
  5. from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime, BigInteger, Text, Float, Boolean
  6. from sqlalchemy.orm import relationship, backref
  7. from app.models.base_model import Base
  8. class KnowledgeModel(Base):
  9. __tablename__ = 'knowledgebase'
  10. __mapper_args__ = {
  11. # "order_by": 'SEQ'
  12. }
  13. id = Column(String(32), primary_key=True) # id
  14. name = Column(String(128)) # 名称
  15. create_date = Column(DateTime) # 创建时间
  16. update_date = Column(DateTime) # 更新时间
  17. avatar = Column(Text) # 图标
  18. tenant_id = Column(String(32)) # 创建人id
  19. description = Column(Text) # 说明
  20. status = Column(String(1)) # 状态
  21. # kld_type = Column(String(1)) # 知识库平台
  22. def get_id(self):
  23. return str(self.id)
  24. def to_json(self):
  25. return {
  26. 'id': self.id,
  27. 'name': self.name,
  28. 'create_time': self.create_date,
  29. 'update_time': self.update_date,
  30. 'avatar': self.avatar,
  31. 'tenant_id': self.tenant_id,
  32. 'description': self.description,
  33. 'status': self.status,
  34. # 'kld_type': self.kld_type
  35. }
  36. def __repr__(self):
  37. return '<Knowledge name:%r url:%r>\n' % (self.name, self.id)
  38. class RoleParameter(BaseModel):
  39. role: str