Django 外键的操作
时间:2021-08-11
本文章向大家介绍Django 外键的操作,主要包括Django 外键的操作使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
from django.db import models class Publisher(models.Model): name = models.CharField(max_length=32, verbose_name='出版社名称') def __str__(self): return self.name class Meta: verbose_name = "name" verbose_name_plural = verbose_name class Book(models.Model): name = models.CharField(max_length=32, verbose_name='书名') pub = models.ForeignKey('Publisher', on_delete=models.CASCADE,related_name='books', related_query_name='book') def __str__(self): return self.name class Meta: verbose_name = 'name' verbose_name_plural = verbose_name
######################## # 基于对象的查询 book_obj = models.Book.objects.get(pk=1) # 正向查询 book_obj.pub # 所关联的对象 book_obj.pub_id # 所关联的对象id # 反向查询 pub_obj = models.Publisher.objects.get(pk=1) # 不指定related_name 使用 类名下列_set pub_obj.book_set # 关系管理对象 pub_obj.book_set.all() # 所关联的所有的书籍对象 # 指定 related_name = 'books' pub_obj.books.all() # 基于字段的查询 ret = models.Book.objects.filter(name='xxxxxxxx') ret = models.Book.objects.filter(pub__name='出版社') ret = models.Publisher.objects.filter(name='出版社') # 不指定 related_name ret = models.Publisher.objects.filter(book__name='xxxxxxx') # 指定 related_name='books' ret = models.Publisher.objects.filter(books__name='xxxxxxx') # 指定related_query_name='xxx' ret = models.Publisher.objects.filter(xxx__name='xxxxx')
原文地址:https://www.cnblogs.com/Star-Haitian/p/15129287.html
- 并发与实例上下文模式: WCF服务在不同实例上下文模式下具有怎样的并发表现
- 区块链将变革的五个行业
- WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[上篇]
- AngularJS in Action读书笔记3——走近Services
- 有了这些无人驾驶的汽车,未来还需要考驾照吗?
- 并发与实例上下文模式: WCF服务在不同实例上下文模式下具有怎样的并发表现
- AngularJS in Action读书笔记4(实战篇)——创建Statistic模块
- Effective Deep Memory Networks for Relation Extraction
- ConcurrencyMode.Multiple模式下的WCF服务就一定是并发执行的吗:探讨同步上下文对并发的影响[上篇]
- WCF技术剖析之二十一:WCF基本异常处理模式[下篇]
- AngularJS in Action读书笔记5(实战篇)——在directive中引入D3饼状图显示
- WCF中并发(Concurrency)与限流(Throttling)体系深入解析系列[共7篇]
- AngularJS in Action读书笔记6(实战篇)——bug hunting
- FreeMarker模板开发指南知识点梳理
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android 编译出错版本匹配问题解决办法
- Linux(CentOS7)使用 RPM 安装 mysql 8.0.11的教程
- Android Adapter里面嵌套ListView实例详解
- Centos7 安装达梦数据库的教程
- Android开发使用Handler实现图片轮播功能示例
- 简单实现Android刮刮卡效果
- CentOS7.4下 安装JDK1.8的图文教程
- Android Studio中导入JNI生成的.so库的实现方法
- Android实现文件上传和下载倒计时功能的圆形进度条
- 使用Apache ab进行http性能测试
- Android Imageloader的配置的实现代码
- Linux下如何查看版本信息的方法步骤
- Android开发实现Files文件读取解析功能示例
- Android实现iPhone晃动撤销输入功能 Android仿微信摇一摇功能
- 猿实战21——商品发布之商品数据存储