models.py 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. from tortoise import fields
  2. from tortoise.models import Model
  3. from pydantic import BaseModel
  4. from datetime import datetime
  5. class User(Model):
  6. id = fields.IntField(pk=True)
  7. username = fields.CharField(max_length=30, unique=True, description="帳號")
  8. password = fields.CharField(max_length=128, description="密碼")
  9. email = fields.CharField(max_length=128, description="信箱")
  10. points = fields.IntField(description="點數")
  11. is_superuser = fields.IntField(description="超級使用者")
  12. is_gmail = fields.IntField(description="是否使用gmail登入")
  13. token = fields.CharField(max_length=200)
  14. class UserPydantic(BaseModel):
  15. id: int
  16. username: str
  17. password: str
  18. email: str
  19. points: int
  20. is_superuser: int
  21. is_gmail: int
  22. token: str
  23. class Config:
  24. orm_mode = True
  25. #學校
  26. class Schools(Model):
  27. id = fields.IntField(pk=True)
  28. name = fields.CharField(max_length=45, description="學校名稱")
  29. longitude = fields.CharField(max_length=100, description="經度")
  30. latitude = fields.CharField(max_length=100, description="緯度")
  31. group_id = fields.IntField(description="學群")
  32. address = fields.CharField(max_length=128,description="地址")
  33. update_time = fields.DatetimeField(description="更新時間")
  34. class Group_name(Model):
  35. id = fields.IntField(pk=True)
  36. group_name = fields.CharField(max_length=45, description="學群名稱")
  37. class Class_name(Model):
  38. id = fields.IntField(pk=True)
  39. name = fields.CharField(max_length=45, description="課程名稱")
  40. school_id = fields.IntField(description="學校ID")
  41. category = fields.CharField(max_length=45, description="分類")
  42. introduction = fields.TextField(description="簡介")
  43. organizer = fields.CharField(max_length=45, description="主辦單位")
  44. cover_img = fields.CharField(max_length=255, description="封面圖片")
  45. class Class_list(Model):
  46. id = fields.IntField(pk=True)
  47. name_id = fields.IntField(description="課程名稱ID")
  48. event = fields.CharField(max_length=45, description="場次")
  49. start_time = fields.DatetimeField(description="開始時間")
  50. end_time = fields.DatetimeField(description="結束時間")
  51. contact = fields.CharField(max_length=255, description="聯絡方式")
  52. lecturer = fields.CharField(max_length=255, description="講師")
  53. location = fields.CharField(max_length=255, description="地點詳情")
  54. content = fields.TextField(description="內容")
  55. URL = fields.TextField(description="連結網址")
  56. people = fields.CharField(max_length=255, description="對象")
  57. fee_method = fields.CharField(max_length=255, description="收費方式")
  58. registration_way = fields.CharField(max_length=255, description="報名方式")
  59. remark = fields.TextField(description="備註")
  60. class Class_detail(Model):
  61. id = fields.IntField(pk=True)
  62. class_list_id = fields.IntField(description="課程場次ID")
  63. start_time = fields.DatetimeField(description="開始時間")
  64. end_time = fields.DatetimeField(description="結束時間")
  65. sessions = fields.IntField(description="堂數")
  66. content = fields.TextField(description="內容")
  67. class Registration(Model):
  68. id = fields.IntField(pk=True)
  69. class_id = fields.IntField(description="課程ID")
  70. user_id = fields.IntField(description="使用者ID")
  71. reg_confirm = fields.CharField(max_length=255, description="報名確認(1:報名成功 0:單純報名)")
  72. is_del = fields.CharField(max_length=255, description="是否取消(1:yes ,0:no)")
  73. create_time = fields.DatetimeField(description="創建時間")
  74. class News(Model):
  75. id = fields.IntField(pk=True)
  76. title = fields.CharField(max_length=200, description="標題")
  77. category = fields.CharField(max_length=45, description="類別")
  78. create_time = fields.DatetimeField(description="發布時間")
  79. click_time = fields.IntField(description="點擊次數")
  80. content = fields.TextField(description="內容")
  81. files = fields.TextField(description="附加檔案")
  82. URL = fields.TextField(description="外部連結")
  83. tags = fields.TextField(description="標籤")
  84. class Favorite_course(Model):
  85. id = fields.IntField(pk=True)
  86. user_id = fields.IntField(description="使用者ID")
  87. class_event_id = fields.IntField(description="課程場次ID")
  88. time_stemp = fields.DatetimeField(description="時間")
  89. class Article_list(Model):
  90. id = fields.IntField(pk=True)
  91. title = fields.CharField(max_length=45, description="標題")
  92. school_id = fields.IntField(description="學校ID")
  93. group_id = fields.IntField(description="學群")
  94. create_user_id = fields.IntField(description="創建使用者ID")
  95. create_time = fields.DatetimeField(description="創建時間")
  96. latest_update_user_id = fields.IntField(description="最新更新使用者ID")
  97. latest_update_time = fields.DatetimeField(description="最新更新時間")
  98. tags = fields.TextField(description="標籤")
  99. category = fields.CharField(max_length=45, description="類別")
  100. depiction = fields.TextField(description="文章描述")
  101. cover_img = fields.TextField( description="封面圖片")
  102. vedio_url = fields.TextField( description="影片連結")
  103. click_time = fields.IntField(description="點擊次數")
  104. content = fields.TextField(description="內容")
  105. is_del = fields.IntField(description="是否刪除")