Django Template语法中 OneToOne、ForeignKey 外键查询
主表的Models的结构
class A(models.Model):
username = models.CharField(max_length=32, verbose_name='用户名称')
password = models.CharField(max_length=64, verbose_name='密码')
从表的Models的结构
class B(models.Model):
name = models.CharField(max_length=30, verbose_name='员工姓名')
number = models.CharField(max_length=30, unique=True, default=100101, verbose_name='员工工号')
phone = models.CharField(max_length=11, blank=True, null=True, verbose_name='电话')
a = models.OneToOneField(A,verbose_name='用户')
一、OneToOne
1、在Template中使用主表(A) 查询 从表(B)的内容
注意:在template中写 从表(B)的名称字母要小写,即使你的models中定义时使用的大小字母,也都要小写
# 通过主表查询子表内容,object_A为template中主表A的对象
{{ object_A.b.name }} # 子表B中的name字段信息
{{ object_A.b.number }} # 子表B中的number字段信息
{{ object_A.b.phone }} # 子表B中的phone字段信息
2、在Template中使用主表(B) 查询 从表(A)的内容
# 通过子表查询主表内容
{{ object_B.a.username }}
{{ object_B.a.password }}
二、 ForeignKey
表C 中字段ForeignKey 到A表
class C(models.Model):
info = models.CharField(max_length=, verbose_name='信息')
user= models.ForeignKey(A, verbose_name='用户')
1、从C表查A表的内容(正向查找)
{{ object_C.a.username }} # 表A中的username字段信息
2、从A表中查C表的内容(反向查找)
{{ object_A.c_set.info}} # 表C中的info字段信息
{{ object_A.c_set.all}} # 表C中的所有字段信息
Django Template语法中 OneToOne、ForeignKey 外键查询的更多相关文章
- Django图书管理系统(前端对有外键的数据表增删改查)
图书管理 书籍管理 book name 项目源码位置:https://gitee.com/machangwei-8/learning_materials/tree/master/%E9%A1%B9%E ...
- 在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键)
原文:在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有 ...
- Django_外键查询和反查询
一.ForeignKey @property装饰器的作用是返回一个属性特性,在数据库中也有一些小技巧可以拿来用,比如今天要写的外键查询和反向查询的内容. from django.db import m ...
- Oracle11gR2 sqlplus中可以执行上键查询backspace删除
1.1 sqlplus中可以执行上键查询backspace删除 1.1.1 上键查询 方法1: 安装源-导入key-安装rpm包-进入配置文件修改参数 rpm -ivh http://download ...
- Django:ORM中ForeignKey外键关系分析
假设有两张表,Role和User,因为多个用户会对应一个角色,属于多对一关系,所以User中的rolename字段使用ForeignKey,第一个参数为要关联的表Role,第二个参数related_n ...
- python django中的orm外键级联删除
今天添加了一个路由表,路由表做外键,然后添加了几个组,路由表为组的外键,当我使用删除功能对路由表进行删除时,竞然将我的组也相当的删除了:尽管这是测试,但放到生产环境中还是会发生意外的:这个问题要解决: ...
- django中的数据库外键操作
以MYSQL为例: (1)在model中定义两个数据表,食物信息和食物类别信息 class foodInfo(models.Model): food_id = models.AutoField ...
- Django QuerySet 方法梳理 。model外键 多对多的保存
引用:https://feifeiyum.github.io/2017/03/28/python-django-queryset/ 说明 Models 层是 Django 框架中最强大的部分之一, 大 ...
- Django 多个字段关联同一外键
# -*- coding: utf-8 -*- """ Tencent is pleased to support the open source community b ...
随机推荐
- python27期尚哥讲TFTP:
TFTP介绍 :TFTP(Trivial File Transfer Protocol,简单⽂件传输协议)是TCP/IP协议簇中的⼀个⽤来在客户端与服务器之间进⾏简单⽂件传输的协议使用tftp这个协议 ...
- 多个页面进行爬虫 pycharm
使用requests , lxml ,xpath进行爬取并写入了TXT(也可以存入数据库).参考博客:https://blog.csdn.net/yexing_cts/article/details ...
- Python进阶-XI 常用模块之一:collections、time、random、os、sys
简要介绍一下各种集合: 列表.元组.字典.集合(含frozenset).字符串.堆栈(如手枪弹夹:先进后出).队列(如马克沁机枪的弹夹:先进先出) 1.collections 1)queue 队列介绍 ...
- 使用zeebe DebugHttpExporter 查看zeebe 工作流信息
zeebe 提供了一个DebugHttpExporter 可以方便的查看部署以及wokrflow 运行信息 以下是一个简单的运行试用,同时集成了prometheus,添加了一个简单的grafana d ...
- 【2019.7.15 NOIP模拟赛 T2】与非树(nand)(树形DP)
树形\(DP\) 实际上,这道题应该不是很难. 我们设\(f_{x,i,j}\)表示在以\(x\)为根的子树内,原本应输出\(i\),结果输出了\(j\)的情况数. 转移时,为了方便,我们先考虑与,再 ...
- MySQL实战45讲学习笔记:第二十讲
一.引子 在上一篇文章最后,我给你留了一个关于加锁规则的问题.今天,我们就从这个问题说起吧. 为了便于说明问题,这一篇文章,我们就先使用一个小一点儿的表.建表和初始化语句如下(为了便于本期的例子说明, ...
- oracle--DBWN
一,DBWN功能 将脏数据写盘 二,什么情况下会触发DBWN的进程呢? 1) check pointer:有检查点, 2) 脏数据达到阀值:达到buffer内存的10%即要将脏数据写到磁盘: 这就是造 ...
- 在 Vue 中使用 装饰器 Decorator
Decorator 的语法还没有通过提案,所以项目中很少用.不过最近刚好有一个需求用到了. 装饰器的语法 http://es6.ruanyifeng.com/#docs/decorator 需求是,有 ...
- 结合Spring实现策略模式
最近系统需要对不同维度的数据进行差异化计算,也就会使用不同算法.为了以后更加容易扩展,结合Spring框架及策略模式对实现架构做了系统设计. 1. 定义策略接口(Strategy): import c ...
- git生成并添加SSH key
1.安装Git Bash https://git-scm.com/downloads 2.鼠标右键git bash here 3.执行以下命令: ① cd ~/.ssh/ [如果没有对应的文 ...