Django 自学笔记兼学习教程第5章第3节——综合使用示例
点击查看教程总目录
1 - 生成学号场景
场景描述: 教务管理系统中,学生注册账号,学生选择年级后,生成唯一学号。
细节分析: 学生学号由年级号和年级内编号组成。
年级号由学生选择,年级内编号由系统生成,生成规则为按年级内学生注册时间排序依次生成编号,
如第一个注册的年级内编号为000001,第二个注册的为000002,依次类推。
假设学生选择的学号为2020, 那么生成过程如下
grade = "2020"
# order_by默认升序排列,number前的负号表示降序排列
student_set = Student.objects.filter(grade=grade).order_by("-number")
if student_set.count() > 0:
last_student = student_set[0]
new_number = str(int(last_student.number) + 1)
for i in range(6 - len(new_number)):
new_number = "0" + new_number
else:
new_number = "000001"
student_id = grade + new_number
print(student_id)
有该场景的实际项目:python Django实现简易学生选课管理系统