Django笔记&教程 5-3 综合使用示例

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实现简易学生选课管理系统

原文地址:https://www.cnblogs.com/BigShuang/p/14285592.html