models.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. from django.db import models
  2. from django.conf import settings
  3. from django.db.models import F
  4. class Config(models.Model):
  5. LEAVE_LEAD_TIME = "leave_lead_time" # 付款码支付__付款码图片
  6. property = models.CharField(max_length=100, verbose_name='属性')
  7. value = models.TextField(blank=True, max_length=250, null=True, verbose_name='值')
  8. class Meta:
  9. db_table = "system_config"
  10. verbose_name = u"综合设置"
  11. default_permissions = ()
  12. permissions = [
  13. ('manage_system_config', u'管理'),
  14. ]
  15. @staticmethod
  16. def get_value(property):
  17. if property in [Config.LEAVE_LEAD_TIME,]:
  18. row = Config.objects.get(property=property)
  19. return row.value
  20. return ''
  21. class School(models.Model):
  22. name = models.CharField(verbose_name=u'名称', max_length=100, blank=True, null=True)
  23. notes = models.CharField(verbose_name=u'备注', max_length=200, null=True)
  24. enable = models.BooleanField(verbose_name=u"是否在用", default=True)
  25. def __unicode__(self):
  26. return '%s' % (self.name)
  27. class Meta:
  28. verbose_name = u"学校"
  29. db_table = "school"
  30. ordering = ['-id']
  31. class Grade(models.Model):
  32. school = models.ForeignKey(School, verbose_name=u'学校', related_name='grade_school', on_delete=models.PROTECT)
  33. name = models.CharField(verbose_name=u'名称', max_length=100, blank=True, null=True)
  34. count = models.PositiveIntegerField(verbose_name="班级数量", default=1)
  35. class Meta:
  36. verbose_name = u"年级"
  37. db_table = "grade"
  38. ordering = ['-id']
  39. class Classes(models.Model):
  40. grade = models.ForeignKey(Grade, verbose_name=u'年级', related_name='classes_grade', on_delete=models.PROTECT)
  41. name = models.CharField(verbose_name=u'名称', max_length=100, blank=True, null=True)
  42. enable = models.BooleanField(verbose_name=u"是否在用", default=True)
  43. def __unicode__(self):
  44. return '%s' % (self.name)
  45. class Meta:
  46. verbose_name = u"班级"
  47. db_table = "classes"
  48. ordering = ['-id']
  49. class Student(models.Model):
  50. school = models.ForeignKey(School, verbose_name=u'学校',related_name='student_school', on_delete=models.PROTECT)
  51. classes = models.ForeignKey(Classes, verbose_name=u'班级', on_delete=models.PROTECT)
  52. name = models.CharField(verbose_name=u'姓名', max_length=20)
  53. gender = models.PositiveSmallIntegerField(choices=settings.GENDER_CHOICES, verbose_name=u"性别", default=settings.MALE)
  54. create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建人", related_name='student_create_user',
  55. on_delete=models.PROTECT, editable=False)
  56. create_time = models.DateTimeField(verbose_name=u'创建时间', auto_now_add=True, editable=False)
  57. enable = models.BooleanField(verbose_name=u"是否在用", default=True, editable=False)
  58. class Meta:
  59. verbose_name = u"学生"
  60. db_table = "student"
  61. ordering = ['-id']