python学生考勤管理系统设计_Python【day 19】:django学习--学员系统表结构设计models...

本文介绍了使用Django设计一个学员管理系统的过程,包括用户、校区、课程、班级、客户、跟踪记录、上课记录和学习记录等多个模型的创建,强调了模型之间的关系,如多对一、一对多和多对多关系的实现。
摘要由CSDN通过智能技术生成

#_*_coding:utf-8_*_

from django.db importmodels#Create your models here.

#Django练习小项目:学员管理系统设计开发#带着项目需求学习是最有趣和效率最高的,今天就来基于下面的需求来继续学习Django#

#项目需求:#

#1.分讲师\学员\课程顾问角色,#2.学员可以属于多个班级,学员成绩按课程分别统计#3.每个班级至少包含一个或多个讲师#4.一个学员要有状态转化的过程 ,比如未报名前,报名后,毕业老学员#5.客户要有咨询纪录, 后续的定期跟踪纪录也要保存#6.每个学员的所有上课出勤情况\学习成绩都要保存#7.学校可以有分校区,默认每个校区的员工只能查看和管理自己校区的学员#8.客户咨询要区分来源

#Create your models here.

from django.core.exceptions importValidationErrorfrom django.db importmodelsfrom django.contrib.auth.models importUser

class_type_choices= (('online',u'网络班'),

('offline_weekend',u'面授班(周末)',),

('offline_fulltime',u'面授班(脱产)',),

)#1用户表(讲师,销售,课程顾问,学校工作人员)

class UserProfile(models.Model): #UserProfile是对默认基本表User的继承和扩展

user = models.OneToOneField(User) #一对一是外键的特例,下拉框选择一次后,下次就不能再次选择 unique

name = models.CharField(u"姓名",max_length=32)#UserProfile相当于用户详细表,User相当于用户基本表(djangomore默认用户表) 这2个表中name=alex只能是一对一

#在详细表中,创建一条记录是alex,对应基本表的alex;再次创建jack的时候,对应基本表就不能还是alex,必须是jack

#所以用到的是一对一

def __unicode__(self):returnself.namedef __str__(self):returnself.nameclass Meta: #表中文名在admin显示

verbose_name = '校内工作人员表'verbose_name_plural= "校内工作人员表"

#2校区表

classSchool(models.Model):

name= models.CharField(u"校区名称",max_length=64,unique=True) #名字

addr = models.CharField(u"地址",max_length=128) #地址

staffs = models.ManyToManyField('UserProfile',blank=True) #校区和学校工作人员UserProfile 多对多

#一个校区多个讲师 一个讲师(校长、领导)属于多个校区

def __unicode__(self):returnself.namedef __str__(self):returnself.nameclass Meta: #表中文名在admin显示

verbose_name = '校区表'verbose_name_plural= "校区表"

#3课程表

classCourse(models.Model):

name= models.CharField(u"课程名称",max_length=128,unique=True) #课程名字 python linux

price = models.IntegerField(u"面授价格") #面授价格

online_price = models.IntegerField(u"网络班价格") #网络班价格

brief = models

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值