models.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. from django.db import models
  2. # Create your models here.
  3. class UserModel(models.Model):
  4. id = models.AutoField(primary_key=True)
  5. username = models.CharField(unique=True, max_length=128, null=False, verbose_name='用户名')
  6. password = models.CharField(max_length=128, null=False, verbose_name='密码')
  7. permission = models.CharField(max_length=24, null=False, verbose_name='权限')
  8. login_time = models.IntegerField(blank=True, default=0, verbose_name='登录时间')
  9. online = models.SmallIntegerField(default=0, verbose_name='是否在线')
  10. class Meta:
  11. verbose_name = '用户表'
  12. verbose_name_plural = verbose_name
  13. db_table = 'user'
  14. class UIDModel(models.Model):
  15. id = models.AutoField(primary_key=True)
  16. uid = models.CharField(max_length=20, null=False, db_index=True, unique=True, verbose_name='设备id')
  17. mac = models.CharField(max_length=17, null=False, default='', verbose_name='设备id对应的mac地址')
  18. uid_extra = models.TextField(default='', verbose_name='uid的额外描述')
  19. status = models.SmallIntegerField(default=0, verbose_name='使用状态')
  20. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  21. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  22. area = models.SmallIntegerField(default=0, verbose_name='区域') #0:国内;1:国外
  23. class Meta:
  24. verbose_name = 'uid表'
  25. verbose_name_plural = verbose_name
  26. db_table = 'uid'
  27. class UserUIDModel(models.Model):
  28. id = models.AutoField(primary_key=True)
  29. user = models.ForeignKey(UserModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联用户表id')
  30. uid = models.ForeignKey(UIDModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联uid表id')
  31. class Meta:
  32. verbose_name = '用户与UID的关联表'
  33. verbose_name_plural = verbose_name
  34. db_table = 'user_uid'
  35. class PermissionModel(models.Model):
  36. id = models.AutoField(primary_key=True)
  37. type = models.SmallIntegerField(null=False, verbose_name='权限枚举')
  38. description = models.TextField(default='', verbose_name='权限描述')
  39. class Meta:
  40. verbose_name = '权限表'
  41. verbose_name_plural = verbose_name
  42. db_table = 'permission'
  43. class LogModel(models.Model):
  44. id = models.AutoField(primary_key=True)
  45. operation = models.CharField(max_length=100, default='', verbose_name='操作描述')
  46. time = models.IntegerField(default=0, verbose_name='操作时间')
  47. ip = models.CharField(default='', max_length=24, verbose_name='用户ip')
  48. user = models.ForeignKey(UserModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联用户id')
  49. content = models.TextField(default='', verbose_name='请求参数')
  50. status = models.IntegerField(default=0, verbose_name='请求状态')
  51. url = models.CharField(max_length=150, default='', verbose_name='请求路径')
  52. class Meta:
  53. ordering = ('-time',)
  54. verbose_name = '日志表'
  55. verbose_name_plural = verbose_name
  56. db_table = 'log'
  57. class HistoryUIDModel(models.Model):
  58. id = models.AutoField(primary_key=True)
  59. uid = models.CharField(max_length=20, null=False, db_index=True, verbose_name='设备id')
  60. uid_extra = models.TextField(default='', verbose_name='uid的额外描述')
  61. status = models.SmallIntegerField(default=0, verbose_name='使用状态')
  62. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  63. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  64. area = models.SmallIntegerField(default=0, verbose_name='区域') # 0:国内;1:国外
  65. class Meta:
  66. verbose_name = '历史UID表'
  67. verbose_name_plural = verbose_name
  68. db_table = 'history_uid'
  69. class MacModel(models.Model):
  70. id = models.AutoField(primary_key=True)
  71. value = models.CharField(max_length=17, null=False, verbose_name='最新的mac地址')
  72. is_active = models.BooleanField(default=True, verbose_name='当前mac地址是否可用')
  73. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  74. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  75. class Meta:
  76. verbose_name = '最新的mac地址表'
  77. verbose_name_plural = verbose_name
  78. db_table = 'tb_mac'