models.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from django.db import models
  2. from django.utils import timezone
  3. class User(models.Model):
  4. username = models.CharField(max_length=20, unique=True, null=False)
  5. nickname = models.CharField(max_length=20, null=True)
  6. password = models.CharField(max_length=32, null=False)
  7. roleName = models.CharField(max_length=32, null=True)
  8. value = models.CharField(max_length=32, null=True)
  9. status = models.BooleanField(default=1)
  10. detail = models.CharField(max_length=124, null=True)
  11. token = models.CharField(max_length=500, unique=True, null=False)
  12. menus = models.ManyToManyField("Menu", null=True)
  13. def __unicode__(self):
  14. return self.username
  15. # class Metas(models.Model):
  16. # title = models.CharField(max_length=32)
  17. # affix = models.BooleanField(default=1)
  18. # icon = models.CharField(max_length=32)
  19. class Menu(models.Model):
  20. path = models.CharField(max_length=64, blank=True, null=True) # 映射数据路径
  21. name = models.CharField(max_length=64, verbose_name="菜单名称") # 菜单名称
  22. component = models.CharField(
  23. max_length=512, null=True, blank=True) # view页面路径
  24. parent = models.ForeignKey(
  25. "Menu", on_delete=models.DO_NOTHING, null=True, blank=True) # 父节点
  26. redirect = models.CharField(max_length=64, null=True, blank=True) # 重定向
  27. detail = models.CharField(max_length=64, null=True, blank=True) # 备注
  28. status = models.BooleanField(default=1)
  29. create_time = models.DateTimeField(
  30. auto_created=True, default=timezone.now)
  31. # meta = models.OneToOneField(Metas,null=True,on_delete=models.CASCADE)
  32. # users = models.ManyToManyField("User", null=True)
  33. # 以下三个为菜单meta配置
  34. title = models.CharField(max_length=32, null=True)
  35. affix = models.BooleanField(default=1)
  36. icon = models.CharField(max_length=120, null=True)
  37. def __unicode__(self):
  38. return self.name
  39. def __str__(self):
  40. return self.name
  41. class Meta():
  42. verbose_name = "菜单"
  43. verbose_name_plural = verbose_name