主表的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 外键查询的更多相关文章

  1. Django图书管理系统(前端对有外键的数据表增删改查)

    图书管理 书籍管理 book name 项目源码位置:https://gitee.com/machangwei-8/learning_materials/tree/master/%E9%A1%B9%E ...

  2. 在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键)

    原文:在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有 ...

  3. Django_外键查询和反查询

    一.ForeignKey @property装饰器的作用是返回一个属性特性,在数据库中也有一些小技巧可以拿来用,比如今天要写的外键查询和反向查询的内容. from django.db import m ...

  4. Oracle11gR2 sqlplus中可以执行上键查询backspace删除

    1.1 sqlplus中可以执行上键查询backspace删除 1.1.1 上键查询 方法1: 安装源-导入key-安装rpm包-进入配置文件修改参数 rpm -ivh http://download ...

  5. Django:ORM中ForeignKey外键关系分析

    假设有两张表,Role和User,因为多个用户会对应一个角色,属于多对一关系,所以User中的rolename字段使用ForeignKey,第一个参数为要关联的表Role,第二个参数related_n ...

  6. python django中的orm外键级联删除

    今天添加了一个路由表,路由表做外键,然后添加了几个组,路由表为组的外键,当我使用删除功能对路由表进行删除时,竞然将我的组也相当的删除了:尽管这是测试,但放到生产环境中还是会发生意外的:这个问题要解决: ...

  7. django中的数据库外键操作

    以MYSQL为例: (1)在model中定义两个数据表,食物信息和食物类别信息 class foodInfo(models.Model):     food_id = models.AutoField ...

  8. Django QuerySet 方法梳理 。model外键 多对多的保存

    引用:https://feifeiyum.github.io/2017/03/28/python-django-queryset/ 说明 Models 层是 Django 框架中最强大的部分之一, 大 ...

  9. Django 多个字段关联同一外键

    # -*- coding: utf-8 -*- """ Tencent is pleased to support the open source community b ...

随机推荐

  1. zz模型剪枝

    论文总结 - 模型剪枝 Model Pruning  发表于 2018-10-03 模型剪枝是常用的模型压缩方法之一.这篇是最近看的模型剪枝相关论文的总结. Deep Compression, Han ...

  2. 动态规划 | 对输入进行hash处理的LIS 1045

    把序列M处理为有序序列,并且M不存在的序列要在A中删除. 对A进行了处理之后,执行LIS的操作(O(N^2)复杂度).当然可以优化为对数复杂度的,不过pat不卡这个. LCS解法:动态规划 | 保留重 ...

  3. cf1207解题报告

    cf1207解题报告 A 模拟 #include <bits/stdc++.h> #define ll long long using namespace std; ll T,a,b,c, ...

  4. Bootstrap-table实现动态合并相同行

    Bootstrap-table  表格合并相同名字的列 @编写function() /** * 合并行 * @param data 原始数据(在服务端完成排序) * @param fieldName ...

  5. CF1151F Sonya and Informatics(概率期望,DP,矩阵快速幂)

    明明是水题结果没切掉……降智了…… 首先令 $c$ 为序列中 $0$ 的个数,那么排序后序列肯定是前面 $c$ 个 $0$,后面 $n-c$ 个 $1$. 那么就能上 DP 了.(居然卡在这里……) ...

  6. Spring Boot中的Mongodb多数据源扩展

    在日常工作中,我们通过Spring Data Mongodb来操作Mongodb数据库,在Spring Boot中只需要引入spring-boot-starter-data-mongodb即可. 然后 ...

  7. OAuth2、OpenID、SMAL 对比

    对比点 OAuth2.0 OpenID SMAL2 票据格式 JSON or SAML2 JSON XML 支持授权 Yes Yes Yes 支持认证 “伪认证” Yes Yes 创建年份 2005 ...

  8. OSG :三维无序离散点构建Delaunay三角网

    利用OSG的osgUtil库里面的DelaunayTriangulator类. points是需要构建三角网的点 osgUtil::DelaunayTriangulator* trig = new o ...

  9. fiddler抓包-2-5分钟学会手机端抓包

    前言 小伙伴们在前篇是否学会了简单的电脑web或其它软件抓包了呢?今天小编给大家带来的是fiddler设置手机代理抓手机端的数据包. 大致流程如下: 1.准备一台wifi功能正常的真机或虚拟机:2.设 ...

  10. 代码实现一个蛇形led走马灯

    什么叫走马灯? 走马灯又叫流水灯,灯不断的走动,像流水一样,动态显示. makecode图形化编程见:http://bbs.kittenbot.cn/forum.php?mod=viewthread& ...