models.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. #學校
  12. class Schools(Model):
  13. id = fields.IntField(pk=True)
  14. name = fields.CharField(max_length=45, description="學校名稱")
  15. longitude = fields.CharField(max_length=100, description="經度")
  16. latitude = fields.CharField(max_length=100, description="緯度")
  17. group_id = fields.IntField(description="學群")
  18. address = fields.CharField(max_length=128,description="地址")
  19. update_time = fields.DatetimeField(description="更新時間")
  20. class School_group(Model):
  21. id = fields.IntField(pk=True)
  22. group_name = fields.CharField(max_length=45, description="學群名稱")
  23. class Class_name(Model):
  24. id = fields.IntField(pk=True)
  25. name = fields.CharField(max_length=45, description="課程名稱")
  26. school_id = fields.IntField(description="學校ID")
  27. category = fields.CharField(max_length=45, description="分類")
  28. introduction = fields.TextField(description="簡介")
  29. organizer = fields.CharField(max_length=45, description="主辦單位")
  30. cover_img = fields.CharField(max_length=255, description="封面圖片")
  31. class Class_list(Model):
  32. id = fields.IntField(pk=True)
  33. name_id = fields.IntField(description="課程名稱ID")
  34. event = fields.CharField(max_length=45, description="場次")
  35. start_time = fields.DatetimeField(description="開始時間")
  36. end_time = fields.DatetimeField(description="結束時間")
  37. contact = fields.CharField(max_length=255, description="聯絡方式")
  38. lecturer = fields.CharField(max_length=255, description="講師")
  39. location = fields.CharField(max_length=255, description="地點詳情")
  40. content = fields.TextField(description="內容")
  41. URL = fields.TextField(description="連結網址")
  42. people = fields.CharField(max_length=255, description="對象")
  43. fee_method = fields.CharField(max_length=255, description="收費方式")
  44. registration_way = fields.CharField(max_length=255, description="報名方式")
  45. remark = fields.TextField(description="備註")
  46. class Class_detail(Model):
  47. id = fields.IntField(pk=True)
  48. class_list_id = fields.IntField(description="課程ID")
  49. start_time = fields.DatetimeField(description="開始時間")
  50. end_time = fields.DatetimeField(description="結束時間")
  51. sessions = fields.IntField(description="堂數")
  52. content = fields.TextField(description="內容")
  53. class Registration(Model):
  54. id = fields.IntField(pk=True)
  55. class_id = fields.IntField(description="課程ID")
  56. user_id = fields.IntField(description="使用者ID")
  57. reg_confirm = fields.CharField(max_length=255, description="報名確認(1:報名成功 0:單純報名)")
  58. is_del = fields.CharField(max_length=255, description="是否取消(1:yes ,0:no)")
  59. create_time = fields.DatetimeField(description="創建時間")