ORM版,学生管理系统03
关于老师信息管理
建立多对多关系
第一种(通过外键建立)
自己写类,自己使其建立关系
缺点:
不能用Django ORM 多对多操作的语法 class Teacher(models.Model):
tname = models.CharField(max_length=32) class TeacherToClass(models.Model):
# tid = models.ForeignKey(to="Teacher")
tid = models.ForeignKey("Teacher" ) # 简写版
cid = models.ForeignKey("Class") class Meta:
unique_together = ("tid","cid")
''' # 第二种(通过ManyToManyField)
# 写一个类,利用ORM建立关系
#
# 缺点:自动创建的第三张表,我没有类和它对应,也就是不能通过ORM单独操作第三张表 class Teacher(models.Model):
tname = models.CharField(max_length=32)
cid = models.ManyToManyField("Class") 第三种 (通过外键和ManyToManyField创建
不能调用add set
class Teacher(models.Model):
tname = models.CharField(max_length=32)
cid = models.ManyToManyField(to="Class",through="TeacherToClass",through_fields=("tid","cid")) class TeacherToClass(models.Model):
tid = models.ForeignKey(to="Teacher")
cid = models.ForeignKey(to="Class") class Meta:
unique_together = ("tid","cid")
ORM版,学生管理系统03的更多相关文章
- ORM版学员管理系统
ORM版学员管理系统 班级表 表结构 class Class(models.Model): id = models.AutoField(primary_key=True) # 主键 cname = m ...
- ORM版学员管理系统1
ORM版学员管理系统 班级表 表结构 class Class(models.Model): id = models.AutoField(primary_key=True) # 主键 cname = m ...
- python简易版学生管理系统
#coding=utf- def showInfo(): print("**************") print(" 学生管理系统") print(&quo ...
- ORM版学员管理系统 2
学生信息管理 展示学生信息 URL部分 url(r'^student_list/', app01_views.student_list, name="student_list"), ...
- ORM版学员管理系统2
学生信息管理 展示学生信息 URL部分 url(r'^student_list/', app01_views.student_list, name="student_list"), ...
- ORM版学员管理系统 3
老师信息管理 思考 三种方式创建多对多外键方式及其优缺点. 通过外键创建 class Class(models.Model): id = models.AutoField(primary_key=Tr ...
- ORM版学员管理系统3
老师信息管理 思考 三种方式创建多对多外键方式及其优缺点. 通过外键创建 class Class(models.Model): id = models.AutoField(primary_key=Tr ...
- Django之ORM版学员管理系统
班级表 表结构 class Class(models.Model): id = models.AutoField(primary_key=True) # 主键 cname = models.CharF ...
- Java 简化版学生管理系统(IO版)
Student management system 学生管理系统IO版 详细知识点可参考一下几篇文章 常用API Java 之ArrayList集合及应用 Java 之IO流及应用 Compreh ...
随机推荐
- java 获取request参数集
request里有两个方法 request.getParameterMap(); request.getParameterNames(); 我想用这两种方法获取. 1.用request.getPara ...
- Why GraphQL is Taking Over APIs
A few years ago, I managed a team at DocuSign that was tasked with re-writing the main DocuSign web ...
- canvas 事件绑定
Canvas事件绑定 canvas事件绑定 众所周知canvas是位图,在位图里我们可以在里面画各种东西,可以是图片,可以是线条等等.那我们想给canvas里的某一张图片添加一个点击事件该怎么做到 ...
- FTP pure-ftpd 安装、管理
FTP简介 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为文传协议,用户Internet上的控制文件的双向传输. FTP的主要作用,就是让用户链接上一个远 ...
- winform webbrowser禁用网页target=blank
/// <summary> /// 屏蔽target=_blank 的弹出窗口 /// </summary> /// <param name="sender&q ...
- 掌握这个Python小技巧,轻松构建cytoscape导入文件
今天小编和大家分享如何借助Python脚本轻松构建cytoscape导入文件.Cytoscape是一个非常适合展示各种相互作用关系的可视化软件. 具体来说就是可以用于蛋白互作网络的展示,miRNA与蛋 ...
- Win32 API编程:网络编程在设置WSAAsyncSelect模型后connect的返回值问题
通过WSAAsyncSelect()可以设置非阻塞异步套接字 ::WSAAsyncSelect(s, hDlg, WM_SOCKET, FD_CONNECT | FD_CLOSE | FD_WRITE ...
- Recurrent Neural Networks vs LSTM
Recurrent Neural Network RNN擅长处理序列问题.下面我们就来看看RNN的原理. 可以这样描述:如上图所述,网络的每一个output都会对应一个memory单元用于存储这一时刻 ...
- 简单介绍java Enumeration(转)
Enumeration接口 Enumeration接口本身不是一个数据结构.但是,对其他数据结构非常重要. Enumeration接口定义了从一个数据结构得到连续数据的手段.例如,Enumeratio ...
- 前端开发日记之jQuery
优先引入CDN上的jQuery,如果失效再引入本地的jQuery! <script src="http://libs.baidu.com/jquery/1.11.1/jquery.js ...