博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django一对多 增 删 改 查
阅读量:7250 次
发布时间:2019-06-29

本文共 5245 字,大约阅读时间需要 17 分钟。

实现一对多表查询功能

项目代码:

models.py

from django.db import models# Create your models here.class Classes(models.Model):    """    班级表,男    """    titile = models.CharField(max_length=32)    m = models.ManyToManyField("Teachers")class Teachers(models.Model):    """    老师表,女    """    name = models.CharField (max_length=32)"""cid_id  tid_id 1    1 1    2 6    1 1000  1000"""# class C2T(models.Model):#     cid = models.ForeignKey(Classes)#     tid = models.ForeignKey(Teachers)class Student(models.Model):    username = models.CharField(max_length=32)    age = models.IntegerField()    gender = models.BooleanField()    cs = models.ForeignKey(Classes)

urls.py

"""django_one URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:    https://docs.djangoproject.com/en/1.10/topics/http/urls/Examples:Function views    1. Add an import:  from my_app import views    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')Class-based views    1. Add an import:  from other_app.views import Home    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')Including another URLconf    1. Import the include() function: from django.conf.urls import url, include    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))"""from django.conf.urls import urlfrom django.contrib import adminfrom app01.views import classesfrom app01.views import studentsurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^get_classes.html$', classes.get_classes),    url(r'^add_classes.html$', classes.add_classes),    url(r'^del_classes.html$', classes.del_classes),    url(r'^edit_classes.html$', classes.edit_classes),    url(r'^get_students.html$', students.get_students),    url(r'^add_students.html$', students.add_students),    url(r'^del_students.html$', students.del_students),    url(r'^edit_students.html$', students.edit_students),]

students.py

from django.shortcuts import renderfrom django.shortcuts import redirectfrom app01 import modelsdef get_students(request):    stu_list = models.Student.objects.all()    # for i in stu_list:    #     print(i.id,i.username,i.age,i.cs.id,i.cs.titile)    return render(request,'get_students.html',{
'stu_list':stu_list})def add_students(request): if request.method == 'GET': cs_list = models.Classes.objects.all() return render(request, 'add_students.html', {
'cs_list': cs_list}) elif request.method == 'POST': u = request.POST.get('username') a = request.POST.get('age') g = request.POST.get('gender') c = request.POST.get('cs') models.Student.objects.create( username=u, age=a, gender=g, cs_id=c, ) return redirect('/get_students.html')def del_students(request): nid = request.GET.get('nid') models.Student.objects.filter(id=nid).delete() return redirect('get_students.html')def edit_students(request): if request.method == "GET": nid = request.GET.get('nid') obj = models.Student.objects.filter(id=nid).first() cls_list = models.Classes.objects.all() return render(request, 'edit_students.html',{
'obj': obj,'cls_list': cls_list}) elif request.method == "POST": u = request.GET.get('username') a = request.GET.get('age') g = request.GET.get('gender') c = request.GET.get('cs') models.Student.objects.filter(nid=id).update( username=u, age=a, gender=g, cs_id=c, ) return redirect('/get_students.html')

get_students.html

    
Title
{
% for row in stu_list %}
{
% if row.gender %}
{
% else %}
{
% endif %}
{
% endfor %}
ID 姓名 年龄 性别 班级 操作
{
{ row.id }}
{
{ row.username }}
{
{ row.age }}
{
{ row.cs.titile }}
删除 | 编辑

add_students.html

    
Title

添加用户

{
% csrf_token %}

男: 女:

edit_students.html

    
Title
{
% csrf_token %}

{

% if obj.gender %} 男: 女: {
% else %} 男: 女: {
% endif %}

 

转载地址:http://kgqbm.baihongyu.com/

你可能感兴趣的文章
busybox microcom
查看>>
hdu6376 度度熊剪纸条 思维
查看>>
二维数组转换成一维数组
查看>>
API 3个 js对象
查看>>
NUC1178 Kickdown
查看>>
理解和运用javascript中的call及apply
查看>>
VUE-CLI 设置页面title
查看>>
微信备份方法
查看>>
微软商业服务器部署系列3-windows serevr 2008介绍
查看>>
UVA 10564 Paths through the Hourglass(背包)
查看>>
[hdu6437]Problem L. Videos
查看>>
python 数据加密以及生成token和token验证
查看>>
优达学城数据分析师纳米学位——P4项目知识点整理及代码分析
查看>>
压缩 KVM 的 qcow2 镜像文件
查看>>
python 读写文件中 w与wt ; r与rt 的区别
查看>>
深究“通过样式表实现固定表头和列”
查看>>
《Office 365开发入门指南》上市说明和读者服务
查看>>
Docker生态会重蹈Hadoop的覆辙吗?
查看>>
WPF换肤之八:创建3D浏览效果
查看>>
JEECG环境搭建(Maven版本)-总结Eclipse
查看>>