models.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. from django.contrib.auth.base_user import AbstractBaseUser
  2. from django.contrib.auth.models import PermissionsMixin, AbstractUser
  3. from django.db import models
  4. # Create your models here.
  5. class Permission(models.Model):
  6. id = models.CharField(max_length=50, primary_key=True, unique=True, verbose_name='权限ID',
  7. default="TestLaboratory_V1_Permission_1")
  8. name = models.CharField(max_length=25, verbose_name='权限名')
  9. url = models.URLField(max_length=125, null=True, blank=True, verbose_name='URL')
  10. # get, post, put, delete
  11. method = models.CharField(max_length=20, null=True, verbose_name='方法')
  12. create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
  13. update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
  14. delete = models.BooleanField(default=False)
  15. def __str__(self):
  16. return self.name
  17. class Meta:
  18. verbose_name = '权限'
  19. verbose_name_plural = verbose_name
  20. db_table = 'permission'
  21. class Role(models.Model):
  22. id = models.CharField(max_length=50, primary_key=True, unique=True, verbose_name='角色ID',
  23. default='TestLaboratory_V1_Role_1')
  24. name = models.CharField(max_length=25, unique=True, verbose_name='角色名')
  25. permissions = models.ManyToManyField(Permission, blank=True, verbose_name='权限信息')
  26. create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
  27. update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
  28. delete = models.BooleanField(default=False)
  29. def __str__(self):
  30. return self.name
  31. class Meta:
  32. verbose_name = '角色'
  33. verbose_name_plural = verbose_name
  34. db_table = 'role'
  35. class User(models.Model):
  36. id = models.CharField(max_length=50, unique=True, primary_key=True, verbose_name='用户编号',
  37. default='TestLaboratory_V1_User_1')
  38. username = models.CharField(max_length=30, unique=True, verbose_name='用户名')
  39. name = models.CharField(max_length=20, verbose_name='姓名')
  40. password = models.CharField(max_length=60, default='123456', verbose_name='密码')
  41. tel = models.CharField(max_length=20, verbose_name='联系方式')
  42. identify = models.IntegerField(verbose_name='身份信息')
  43. roles = models.ManyToManyField(Role, blank=True, verbose_name='角色信息')
  44. create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
  45. update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
  46. is_login = models.BooleanField(default=False)
  47. delete = models.BooleanField(default=False)
  48. def __str__(self):
  49. return self.username
  50. class Meta:
  51. verbose_name = '用户'
  52. verbose_name_plural = verbose_name
  53. db_table = 'user'