models.py 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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. address = fields.CharField(max_length=128,description="地址")
  32. update_time = fields.DatetimeField(description="更新時間")
  33. class Group_name(Model):
  34. id = fields.IntField(pk=True)
  35. group_name = fields.CharField(max_length=45, description="學群名稱")
  36. class Class_name(Model):
  37. id = fields.IntField(pk=True)
  38. name = fields.CharField(max_length=45, description="課程名稱")
  39. school_id = fields.IntField(description="學校ID")
  40. category = fields.CharField(max_length=45, description="分類")
  41. introduction = fields.TextField(description="簡介")
  42. organizer = fields.CharField(max_length=45, description="主辦單位")
  43. cover_img = fields.CharField(max_length=255, description="封面圖片")
  44. group_id = fields.IntField(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. registration_day = fields.CharField(max_length=255, description="報名時間")
  61. class Class_detail(Model):
  62. id = fields.IntField(pk=True)
  63. class_list_id = fields.IntField(description="課程場次ID")
  64. start_time = fields.DatetimeField(description="開始時間")
  65. end_time = fields.DatetimeField(description="結束時間")
  66. sessions = fields.IntField(description="堂數")
  67. content = fields.TextField(description="內容")
  68. class Registration(Model):
  69. id = fields.IntField(pk=True)
  70. class_id = fields.IntField(description="課程ID")
  71. user_id = fields.IntField(description="使用者ID")
  72. reg_confirm = fields.CharField(max_length=255, description="報名確認(1:報名成功 0:單純報名)")
  73. is_del = fields.CharField(max_length=255, description="是否取消(1:yes ,0:no)")
  74. create_time = fields.DatetimeField(description="創建時間")
  75. class News(Model):
  76. id = fields.IntField(pk=True)
  77. title = fields.CharField(max_length=200, description="標題")
  78. category = fields.CharField(max_length=45, description="類別")
  79. create_time = fields.DatetimeField(description="發布時間")
  80. click_time = fields.IntField(description="點擊次數")
  81. content = fields.TextField(description="內容")
  82. files = fields.TextField(description="附加檔案")
  83. URL = fields.TextField(description="外部連結")
  84. tags = fields.TextField(description="標籤")
  85. class Favorite_course(Model):
  86. id = fields.IntField(pk=True)
  87. user_id = fields.IntField(description="使用者ID")
  88. class_event_id = fields.IntField(description="課程場次ID")
  89. time_stemp = fields.DatetimeField(description="時間")
  90. class Article_list(Model):
  91. id = fields.IntField(pk=True)
  92. title = fields.CharField(max_length=45, description="標題")
  93. school_id = fields.IntField(description="學校ID")
  94. group_id = fields.IntField(description="學群")
  95. create_user_id = fields.IntField(description="創建使用者ID")
  96. create_time = fields.DatetimeField(description="創建時間")
  97. latest_update_user_id = fields.IntField(description="最新更新使用者ID")
  98. latest_update_time = fields.DatetimeField(description="最新更新時間")
  99. tags = fields.TextField(description="標籤")
  100. category = fields.CharField(max_length=45, description="類別")
  101. depiction = fields.TextField(description="文章描述")
  102. cover_img = fields.TextField( description="封面圖片")
  103. vedio_url = fields.TextField( description="影片連結")
  104. click_time = fields.IntField(description="點擊次數")
  105. content = fields.TextField(description="內容")
  106. is_del = fields.IntField(description="是否刪除")
  107. class Online_course(Model):
  108. id = fields.IntField(pk=True)
  109. title = fields.CharField(max_length=45, description="標題")
  110. category = fields.CharField(max_length=45, description="類別")
  111. create_time = fields.DatetimeField(description="發布時間")
  112. click_time = fields.IntField(description="點擊次數")
  113. content = fields.TextField(description="發布時間")
  114. vedio_url = fields.TextField(description="影片連結")
  115. group_id = fields.IntField(description="學群")
  116. class Guidance_group(Model):
  117. id = fields.IntField(pk=True)
  118. name = fields.CharField(max_length=125, description="協會(團體)名稱")
  119. contact_person = fields.CharField(max_length=125, description="聯絡人")
  120. contact_phone = fields.CharField(max_length=125, description="聯絡電話")
  121. line = fields.IntField(description="LINE (0:沒有、1:有)")
  122. online_meet = fields.IntField(description="線上會議 (0:沒有、1:有)")
  123. remark = fields.TextField(description="備註")