django中数据查找条件是表中的外键对应表的列该如何查找?

1 平常查找表中数据的条件是python中已有的数据类型,通过点运算符可以直接查找。如果条件是表中外键列所对应表的某一列,该如何查询数据?比如

class News(models.Model):
    title = models.CharField(max_length=50);
    summary = models.TextField();

    url = models.CharField(max_length=150);
    favorCount = models.IntegerField(default=0);
    favorUsername = models.TextField(default="");
    replyCount = models.IntegerField(default=0);

class Reply(models.Model):
    content = models.TextField();
    user = models.ForeignKey(‘User‘);
    newID = models.ForeignKey(‘News‘);
    replyTime = models.DateTimeField(auto_now_add=True);

    def __unicode__(self):
        return self.content;

像这样的数据表,想要查找对于博客id是3的所有回复?

方法一、首先获得外键指向的表中对象,然后通过‘_set’这样的方法获得目标表中的数据。

obj = models.News.objects.get(id=3)
replys = obj.reply_set.all()

方法二、直接在目标表中通过双下划线来指定外键对应表中的域来查找符合条件的对象。

models.Reply.objects.filter(newID__id=3)
时间: 2024-10-21 03:13:57

django中数据查找条件是表中的外键对应表的列该如何查找?的相关文章

OpenCV访问Mat对象中数据时发生异常---Mat中的数据访问

7.1和7.1.1由于越狱不成熟,半完美越狱后电脑上无法访问系统越狱目录,如var usr 等等. 今天有些意外地发现,可以在电脑上使用手机的越狱目录我手机 i4 7.1.1 联通 半完美越狱,没装Afc2Add,也没装Appsync 附上  --->我的半完美越狱过程 好了,下面直接正题 一.前提,必须安装ifile! 打开ifile,并转到 /var/mobile/media 目录下,然后点击右上角的 [ 编辑 ]如图: 二.点左下角的 + 号创建,如图: 三.点 [ 类型],选择[符号链接

SQL SERVER中获取表间主外键关系

sql server 2008中的主外键关系获取方式: 转自:http://www.cnblogs.com/ke10/archive/2012/06/11/2544655.html SELECT OBJECT_NAME(con.constid) '关系名' ,OBJECT_NAME(sf.fkeyid) '主键表' ,fcol.name '主键' ,OBJECT_NAME(sf.rkeyid) '外键表' ,rcol.name '外键',st.name'数据类型'FROM sysforeignk

未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。

来源:http://www.cnblogs.com/JuneZhang/archive/2013/01/10/2853981.html 今天运行项目,提示“未能启用约束.一行或多行中包含违反非空.唯一或外键约束的值.”的异常信息. 在网上找了查了一些原因:http://www.cnblogs.com/muzihai1988/archive/2011/05/04/2036502.html 原因分析:强类型的DataTable和SQL语句查询出的结果不匹配. 简单说就是强类型的DataTable比S

查找某个表被哪些表引用。外键

select fk_col.constraint_name, fk_col.table_name, fk_col.column_name  from user_constraints pk, user_constraints fk, user_cons_columns fk_col where pk.table_name = 'TEST'   and pk.constraint_type = 'P'   and fk.r_constraint_name = pk.constraint_name 

主外键多表查询demo

https://www.cnblogs.com/DragonFire/p/6949767.html mySQL练习-主外键多表查询 MySQL练习-主外键多表查询 练习: 1.建立表关系: 请创建如下表,并创建相关约束 创建表并建立表关系 表数据 补充联合唯一 2.操作练习: 1.自行创建测试数据 测试失败数据 2.查询"生物"课程比"物理"课程成绩高的所有学生的学号: 多表嵌套查询 3.查询平均成绩大于60分的同学的学号和平均成绩: HAVING用法 4.查询所有

3,外键之表关联关系,修改表,复制表

今日内容:  一:外键   一对多:   多对多:   一对一:  二:了解知识点   复制表   修改表相关操作     前戏:   所有的信息都在一张表中所带来的的问题    1,表的结构不清晰    2,浪费硬盘空间    3,表的扩展性极差(是一个很难逃避的缺点)   类似于我们把所有的代码都写在同一个py文件中    在确定表与表之间的关系时,一定要换位思考(必须两方都考虑周全之后才能得出结论)    以员工表和部门表为例:     先站在员工表看能否有多个员工对应一个部门      

删除带外键的表【foreign key constraint fails】报错

title: 删除带外键的表[foreign key constraint fails]报错 date: 2018-08-02 21:59:06 tags: 数据库 --- 遥想当时正在学hibernate的时候,刚好学到了一对多,多对多的关联操作.时间也正是刚好在那是有了一个项目,把各表的间的结构还理清,俗话说学到就要用到,就把这些表的结构都能配置级联关系的都把它配上.没想到就在这里给自己放了个小坑.前几天在一个帖子中看到别人说,尽量少配些ORM约束,数据库的外键约束什么的.当时还不以为然.没

Android数据库SQLite表内设置外键

Android数据库SQLite表内设置外键 介绍 Android默认的数据是SQLite,但SQLite3.6.19之前(在2.2版本中使用的是3.6.22,因此如果你的应用只兼容到2.2版本就可以放心使用外键功能)是不支持外键的,如果有两张表需要关联,用外键是最省事的,但不支持的话怎么办呢?这里就有一个解决办法,就是用事务将两张表关联起来,并且最后生成一张视图. 现有两张表 Employees Dept 视图 ViewEmps:显示雇员信息和他所在的部门 创建数据库 自定义一个辅助类继承SQ

【Hibernate】无外键多表查询

无外键多表查询时编写hql,直接使用逗号分隔表,where作为联合查询条件进行查询.查询出来的结果可为两种,List<List<Object>>或者List<Map<String,Object>>.这时候需要使用下面语句限定查询返回结果类型. //List<Map<String,Object>> Query query = getSessionFactory().openSession().createHQLQuery(querySt