1 项目路径结构树

2 models创建类

  1. from django.db import models
  2.  
  3. class UserType(models.Model):
  4.  
  5. '''
  6.  
  7. 用户类型
  8.  
  9. '''
  10.  
  11. title = models.CharField(max_length=12)
  12.  
  13. class UserInfo(models.Model):
  14.  
  15. '''
  16.  
  17. 用户表
  18.  
  19. '''
  20.  
  21. name = models.CharField(max_length=16)
  22.  
  23. age = models.IntegerField()
  24.  
  25.  ut = models.ForeignKey('UserType')

  

CharField :char类型

IntegerField: int类型

ForeignKey: 关联表

3 检测app是否注册项目

添加app01

4 初始化数据库

初始化db.sqlite3数据库

1.创建表结构

  1. >>python manage.py makemigrations
  2.  
  3. Migrations for 'app01':
  4.  
  5. app01\migrations\0001_initial.py
  6.  
  7. - Create model UserInfo
  8.  
  9. - Create model UserType
  10.  
  11. - Add field ut to userinfo

  

2. 初始化数据库

  1. >> python manage.py migrate
  2.  
  3. Operations to perform:
  4.  
  5. Apply all migrations: admin, app01, auth, contenttypes, sessions
  6.  
  7. Running migrations:
  8.  
  9. Applying contenttypes.0001_initial... OK
  10.  
  11. Applying auth.0001_initial... OK
  12.  
  13. Applying admin.0001_initial... OK
  14.  
  15. Applying admin.0002_logentry_remove_auto_add... OK
  16.  
  17. Applying app01.0001_initial... OK
  18.  
  19. Applying contenttypes.0002_remove_content_type_name... OK
  20.  
  21. Applying auth.0002_alter_permission_name_max_length... OK
  22.  
  23. Applying auth.0003_alter_user_email_max_length... OK
  24.  
  25. Applying auth.0004_alter_user_username_opts... OK
  26.  
  27. Applying auth.0005_alter_user_last_login_null... OK
  28.  
  29. Applying auth.0006_require_contenttypes_0002... OK
  30.  
  31. Applying auth.0007_alter_validators_add_error_messages... OK
  32.  
  33. Applying auth.0008_alter_user_username_max_length... OK
  34.  
  35. Applying sessions.0001_initial... OK

  

5 创建表数据

1)     urls映射关系

  1. urlpatterns = [
  2.  
  3. url(r'^create_data/', views.create_data),
  4.  
  5. ]

  

2)     创建视图函数

  1. from django.shortcuts import render,redirect,HttpResponse
  2.  
  3. from app01 import models
  4.  
  5. # Create your views here.
  6.  
  7. def create_data(request):
  8.  
  9. '''创建书籍'''
  10.  
  11. #models.UserType.objects.create(title='普通用户')
  12.  
  13. #models.UserType.objects.create(title='白金用户')
  14.  
  15. #models.UserType.objects.create(title='砖石用户')
  16.  
  17. '''创建用户'''
  18.  
  19.   #models.UserInfo.objects.create(name='alex',age=32,ut_id=1)
  20.  
  21. #models.UserInfo.objects.create(name='egon',age=42,ut_id=2)
  22.  
  23. #models.UserInfo.objects.create(name='yuan',age=32,ut_id=3)
  24.  
  25. #models.UserInfo.objects.create(name='naza',age=32,ut_id=1)
  26.  
  27. '''获取数据'''
  28.  
  29. result = models.UserInfo.objects.all()
  30.  
  31. for obj in result:
  32.  
  33. print(obj.name,obj.age)

return HttpResponse('...')

  

  1. '''
  2.  
  3. alex 32
  4.  
  5. egon 42
  6.  
  7. yuan 32
  8.  
  9. naza 32
  10.  
  11. '''

  

跨表操作获取数据

  1. result = models.UserInfo.objects.all()
  2.  
  3. for obj in result:
  4.  
  5. print(obj.name,obj.age,obj.ut.title)
  6.  
  7. alex 32 普通用户
  8.  
  9. egon 42 白金用户
  10.  
  11. yuan 32 砖石用户
  12.  
  13. naza 32 普通用户

  

6 访问初始化数据

  1. http://127.0.0.1:8000/create_data/

  

Django视图之ORM连表操作一的更多相关文章

  1. Django框架06 /orm多表操作

    Django框架06 /orm多表操作 目录 Django框架06 /orm多表操作 1. admin相关操作 2. 创建模型 3. 增加 4. 删除 5. 修改 6. 基于对象的跨表查询 7. 基于 ...

  2. Django框架05 /orm单表操作

    Django框架05 /orm单表操作 目录 Django框架05 /orm单表操作 1. orm使用流程 2. orm字段 3. orm参数 4. orm单表简单增/删/改 5. orm单表查询 5 ...

  3. Django之模型---ORM 多表操作

    多表操作 创建表模型 from django.db import models # Create your models here. class Author(models.Model): nid = ...

  4. django框架基础-ORM单表操作-长期维护

    ###############    单表操作-添加数据    ################ import os if __name__ == '__main__': os.environ.set ...

  5. Django之模型---ORM 单表操作

    以上一随笔中创建的book表为例讲解单表操作 添加表记录 方式一 # create方法的返回值book_obj就是插入book表中的python葵花宝典这本书籍纪录对象 book_obj=Book.o ...

  6. python django基础五 ORM多表操作

    首先在创建表的时候看下分析一下 1.作者表和作者详细地址表  一对一关系 理论上谁都能当主表 把Author设置成主表 au=models.OneToOneField(to='AuthorDetail ...

  7. Django 学习 之ORM多表操作

    一.创建模型 1.模型关系整理 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建 ...

  8. django框架基础-ORM跨表操作-长期维护

    ###############    一对一跨表查询    ################ import os if __name__ == '__main__': os.environ.setde ...

  9. Django视图之ORM数据库查询操作API

    查询表记录 查询相关API 操作:models.表名.objects.方法() all(): 查询所有结果 filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 get(**kwar ...

随机推荐

  1. 洛谷 P3959 宝藏 解题报告

    P3959 宝藏 题目描述 参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 \(n\) 个深埋在地下的宝藏屋, 也给出了这 \(n\) 个宝藏屋之间可供开发的 \(m\) 条道路和它们的长度. 小 ...

  2. js判断设备类型

    1. 判断微信 function is_weixin() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/Micr ...

  3. 直通BAT面试算法精讲课 --动态规划

    1.有数组penny,penny中所有的值都为正数且不重复.每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim(小于等于1000)代表要找的钱数,求换钱有多少种方法. 给定数 ...

  4. HDU 5650 异或

    so easy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  5. [LeetCode] 大数问题,相加和相乘,题 Multiply Strings

    Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...

  6. 子字符串substring 问题 - KMP 字符串匹配算法备忘录

    本文为自己对KMP的理解. 对KMP很好的介绍可以参考 http://www.cnblogs.com/yjiyjige/p/3263858.html 本文为对这篇文章的提炼和补充. KMP算法基本思想 ...

  7. UVA 1393 Highways

    https://vjudge.net/problem/UVA-1393 题意: a*b的点阵中能画多少条非水平非竖直的直线 方向‘/’ 和 方向 ‘\’ 对称 枚举直线所在矩形的i*j 直线可能重复的 ...

  8. 【模版】多项式乘法 FFT

    https://www.luogu.org/problem/show?pid=3803 题目背景 这是一道模版题 题目描述 给定一个n次多项式F(x),和一个m次多项式G(x). 请求出F(x)和G( ...

  9. 数据结构&图论:LCT

    HDU4010 类比静态区间问题->动态区间问题的拓展 我们这里把区间变成树,树上的写改删查问题,最最最常用LCT解决 LCT用来维护动态的森林,对于森林中的每一棵树,用Splay维护. LCT ...

  10. Linux系统关闭防火墙端口

    1. 打开防火墙端口 # iptables -I INPUT -p tcp --dport -j ACCEPT # iptables -I INPUT -p tcp --dport -j ACCEPT ...