我和AI一起开发应用 -2

数据表设计

在这里插入图片描述

  1. 学生表(students):
  • student_id (主键):学生唯一标识符,用于关联其他表
  • class_id:所属班级的唯一标识符(外键)
  • name:学生姓名
  • gender:学生性别
  • student_number:学号
  • age:学生年龄
  • contact_phone:学生家长联系电话
  • contact_name:家长名称
  • entre_date: 入学时间
  • father:父亲名称
  • father_phone: 父亲联系电话
  • mother:母亲名称
  • mother_phone: 母亲联系电话
  • dormitory_number: 宿舍号码
  • identity_type: 身份证类型
  • identity_number: 身份证号码
  • Birth_date:出生年月日
  • address:地址
  • native_place:籍贯
  • nation:民族
  1. 班级表(classes): (用于关联学生和班级之间的关系)
  • class_id (主键):班级唯一标识符
  • grade:年级
  • section:班级名称或编号

根据实际需求和系统的复杂程度,在这个基础上添加其他字段。例如,如果需要记录更多学生的个人信息,可以考虑添加家庭地址、出生日期等字段。同样,根据教务需求,还可以添加一些额外的字段,如入学日期、父母信息等

在这里插入图片描述
设计一个附加字段,也是非常方便,因为学校管理也是很多临时任务,比如疫苗,保险,住宿,户口,户籍,特长生等很多想不到的信息。

学生附加信息表(student_additional_info):

  • student_id (外键):关联学生表的学生ID
  • field_name:附加信息字段名称
  • field_value:附加信息字段值

其他表可以按同样方式去咨询,一起讨论和设计。

我用Python django 架构来完成web系统后端开发,所以我让AI转为Python-django的model类设计代码
在这里插入图片描述
以下代码是AI生成,我是还没有优化的。

from django.db import models


class Class(models.Model):
    # 班级表
    class_id = models.AutoField(primary_key=True)
    grade = models.CharField(max_length=50)
    section = models.CharField(max_length=100)

    def __str__(self):
        return self.section

class Student(models.Model):
    # 学生表
    student_id = models.AutoField(primary_key=True)
    class_id = models.ForeignKey(Class, on_delete=models.CASCADE)
    name = models.CharField(max_length=100)
    gender = models.CharField(max_length=10)
    student_number = models.CharField(max_length=20)
    age = models.IntegerField()
    contact_phone = models.CharField(max_length=20)
    contact_name = models.CharField(max_length=100)
    entre_date = models.DateField()
    father = models.CharField(max_length=100)
    father_phone = models.CharField(max_length=20)
    mother = models.CharField(max_length=100)
    mother_phone = models.CharField(max_length=20)
    dormitory_number = models.CharField(max_length=20)
    identity_type = models.CharField(max_length=50)
    identity_number = models.CharField(max_length=50)
    birth_date = models.DateField()
    address = models.CharField(max_length=200)
    native_place = models.CharField(max_length=100)
    nation = models.CharField(max_length=50)

    # 可选:如有其他字段需求,继续添加

    def __str__(self):
        return self.name


class StudentAdditionalInfo(models.Model):
    # 学生附加信息表
    student_id = models.ForeignKey(Student, on_delete=models.CASCADE)
    field_name = models.CharField(max_length=100)
    field_value = models.CharField(max_length=200)

    def __str__(self):
        return f"{self.field_name} - {self.field_value}"

其他的表设计,可以继续按照这个过程,先粗略地把整个系统表开发出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值