Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 一所ESL学校的Django模型_Python_Django - Fatal编程技术网

Python 一所ESL学校的Django模型

Python 一所ESL学校的Django模型,python,django,Python,Django,我正在为ESL(英语作为第二语言)学院建立一个管理界面,基本上这是一个人们学习英语的语言学校 我已经为每个应用程序准备好了我的模型,我真的希望有人来审查它们,并为我提供建议和设计中可能出现的错误 名为ez_core的应用程序的模型: 性别选择=[ (‘女性’、‘女性’), (“男性”、“男性”) ] 街道\地址\选择=[ ('A','A'), (‘B’、‘B’) ] 教育水平选择=[ (“学士学位”、“学士学位”), (“硕士学位”、“硕士学位”), (“博士学位”、“博士学位”), ] 联

我正在为ESL(英语作为第二语言)学院建立一个管理界面,基本上这是一个人们学习英语的语言学校

我已经为每个应用程序准备好了我的模型,我真的希望有人来审查它们,并为我提供建议和设计中可能出现的错误

  • 名为ez_core的应用程序的模型
性别选择=[
(‘女性’、‘女性’),
(“男性”、“男性”)
]
街道\地址\选择=[
('A','A'),
(‘B’、‘B’)
]
教育水平选择=[
(“学士学位”、“学士学位”),
(“硕士学位”、“硕士学位”),
(“博士学位”、“博士学位”),
]
联系人关系选项=[
(‘兄弟’、‘兄弟’),
(‘父亲’、‘父亲’),
(“母亲”、“母亲”),
(‘姐妹’、‘姐妹’),
(‘叔叔’、‘叔叔’),
(‘妻子’、‘妻子’),
]
医疗条件选择=[
(“慢性病”、“慢性病”),
(“过敏症”、“过敏症”)
]
类别个人信息(models.Model):
全名=models.CharField(最大长度=100)
电话号码=models.CharField(最大长度=100)
电子邮件地址=models.EmailField(最大长度=100)
birthdate=models.DateField()
性别=models.CharField(最大长度=6,选项=gender\u选项)
个人识别号=models.CharField(最大长度=100)
passport_number=models.CharField(最大长度=100)
个人照片链接=models.CharField(最大长度=100)
id卡附件链接=models.CharField(最大长度=100)
passport\附件\链接=models.CharField(最大长度=100)
街道地址=models.CharField(
最大长度=100,选项=街道地址(选项)
地址\参考\点=models.CharField(最大长度=100)
教育水平=models.CharField(
最大长度=100,选项=教育级别(选项)
专门化=模型.CharField(最大长度=100)
联系人电话号码=models.CharField(最大长度=100)
联系人姓名=models.CharField(最大长度=100)
联系人关系=models.CharField(
最大长度=100,选项=联系关系(选项)
医疗条件=models.CharField(
最大长度=100,选项=医疗条件(选项)
药物=型号。CharField(最大长度=100)
类元:
抽象=真
  • 名为“ez_课程”的应用程序的模型
课程类型选择=[
(“成年人”、“成年人”),
(‘孩子’,‘孩子’)
]
课程名称选择=[
(“通用英语”、“通用英语”),
(“大英语”、“大英语”),
('Supermind','Supermind'),
(‘业务’、‘业务’),
(“英国签证”、“英国签证”),
(‘雅思’、‘雅思’),
]
班级课程日期(models.Model):
date=models.DateField()
课堂课程(models.Model):
课程类型=模型.CharField(最大长度=100,选项=课程类型\u选项)
课程名称=models.CharField(
最大长度=100,选项=课程名称(选项)
课程描述=models.TextField()
课程\开始\时间=models.TimeField()
课程结束时间=models.TimeField()
#教师
课程成本=models.IntegerField()
课程天数=模型。许多领域(课程天数)
  • 名为ez_staff的应用程序的模型
从ez_core.models导入个人信息
从ez_课程。模型导入课程
职位选择=[
(“教师助理”、“教师助理”),
(“志愿者”、“志愿者”),
(‘老师’、‘老师’),
(‘服务’、‘服务’),
(“实习生”、“实习生”),
(‘Admin’、‘Admin’),
(‘老板’、‘老板’),
]
班级职员(个人信息):
is_=models.BooleanField(默认值=False)
子项的数量=models.IntegerField()
开始工作日期=models.DateField()
位置=型号.CharField(最大长度=100,选项=位置选项)
教学课程=模型。ManyToManyField(课程,空白=真)
is_active=models.BooleanField(默认值=True)
不活动\u原因=models.CharField(最大\u长度=100,空白=True,空=True)
  • 名为ez_student的应用程序的模型
从ez_core.models导入个人信息
从ez_课程。模型导入课程
类别每日注意力(models.Model):
date=models.DateField()
first_hour=models.BooleanField(默认值=False)
秒小时=models.BooleanField(默认值=False)
leave=models.BooleanField(默认值=False)
类别测试(models.Model):
测试标题=models.CharField(最大长度=100)
test\u max\u score=models.IntegerField()
测试分数=models.IntegerField()
test_date=models.DateField()
班级学生(个人信息):
has_bus_service=models.BooleanField(默认值=False)
is_=models.BooleanField(默认值=False)
推迟原因=models.CharField(最大长度=100,空白=True,空=True)
课程=模型.ForeignKey(课程,on_delete=模型.CASCADE)
每日出席人数=models.ManyToManyField(
每日注意力,空白=真)
测试=模型。多个多个字段(测试)

到目前为止,一切都很好。我认为一个强大的电话号码字段

phone_regex = RegexValidator(
        regex=r'^(05)\d{9}$',
        message=phone_message
    )

一切看起来都很好,只是我认为在数字方面使用IntegerField()可能比CharField()更好:

phone_number = models.IntegerField()
contact_phone_number = models.IntegerField()
而且:

personal_photo_link = models.CharField(max_length=100)
我认为:(max_length=100)对于链接来说是不够的。

您可能更愿意使用