Django中ORM找出内容不为空的数据实例

在django操作数据库的时候如何找出内容不为空的数据呢?

from django.db.models import Q

class Index(VIew):
 def get(self, request):
 userObj = models.Asset.objects.filter(~Q(asset_id = '')
 return HttpResponse('yes')

上面代码中的models.Asset.objects.filter(~Q(nick = '')则是使用Q函数去找出nick不为空的数据,主要使用~Q

补充知识:Django报错 HINT: Add or change a related_name argument to the definition for 'GodownentryReturn.suppl

Unhandled exception in thread started by <function wrapper at 0x05569030>
Traceback (most recent call last):
File “G:\workspace\pycharm\carwin\carwin_env\lib\site-packages\django\utils\autoreload.py”, line 226, in wrapper
fn(*args, **kwargs)
File “G:\workspace\pycharm\carwin\carwin_env\lib\site-packages\django\core\management\commands\runserver.py”, line 116, in inner_run
self.check(display_num_errors=True)
File “G:\workspace\pycharm\carwin\carwin_env\lib\site-packages\django\core\management\base.py”, line 472, in check
raise SystemCheckError(msg)
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:

ERRORS:

article.GodownentryReturn.supplier: (fields.E304) Reverse accessor for ‘GodownentryReturn.supplier' clashes with reverse accessor for ‘GodownentryReturn.supplier'.

HINT: Add or change a related_name argument to the definition for ‘GodownentryReturn.supplier' or ‘GodownentryReturn.supplier'.

part.GodownentryReturn.supplier: (fields.E304) Reverse accessor for ‘GodownentryReturn.supplier' clashes with reverse accessor for ‘GodownentryReturn.supplier'.

HINT: Add or change a related_name argument to the definition for ‘GodownentryReturn.supplier' or ‘GodownentryReturn.supplier'.

原因:

因为在一个表中多次引用某个外键表,而且没有指定唯一的releated_name,而导致的。

解决方案:

将同一个表中外键,增加不同的releated_name。

以上这篇Django中ORM找出内容不为空的数据实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • django框架使用orm实现批量更新数据的方法

    本文实例讲述了django框架使用orm实现批量更新数据的方法.分享给大家供大家参考,具体如下: 好久没有用django来改版博客了,突然感觉到生疏了.没办法,业余玩python,django,工作用java的原因,也只能如此.在用django写一个类别更新的时候同时更新子类的parentcode, 如果是自己写原生的sql的话,很好解决.但既然用 django 就用 django 的 orm 去实现: 最简单的方法: MyModel.objects.filter(parentcode=ori_

  • Django ORM实现按天获取数据去重求和例子

    我就废话不多说了,大家还是直接看代码吧! def total_data(request): data = request_body(request, 'POST') if not data: return http_return(400, '参数错误') # 前端传入毫秒为单位的时间戳 startTimestamp = data.get('startTime', '') endTimestamp = data.get('endTime', '') if startTimestamp and en

  • Django ORM 查询表中某列字段值的方法

    1.什么是ORM ORM 全拼Object-Relation Mapping. 中文意为 对象-关系映射. 在MVC/MVT设计模式中的Model模块中都包括ORM 2.ORM优势 (1)只需要面向对象编程, 不需要面向数据库编写代码. 对数据库的操作都转化成对类属性和方法的操作. 不用编写各种数据库的sql语句. (2)实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异. 不在关注用的是mysql.oracle...等. 通过简单的配置就可以轻松更换数据库, 而不需要修改代码. 3.

  • Django中ORM找出内容不为空的数据实例

    在django操作数据库的时候如何找出内容不为空的数据呢? from django.db.models import Q class Index(VIew): def get(self, request): userObj = models.Asset.objects.filter(~Q(asset_id = '') return HttpResponse('yes') 上面代码中的models.Asset.objects.filter(~Q(nick = '')则是使用Q函数去找出nick不为

  • Django中ORM的基本使用教程

    前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 ORM orm(object-relation-mapping)对象关系映射,即用对象来表示关系数据库中的表: 类 --> 表, 对象-->一行数据 对象的属性-->一行属性的一个字段 比如说一个用户信息

  • django之从html页面表单获取输入的数据实例

    本文主要讲解如何获取用户在html页面中输入的信息. 1.首先写一个自定义的html网页 login.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> <form method="post"

  • Django中ORM表的创建和增删改查方法示例

    前言 Django作为重量级的Python web框架,在做项目时肯定少不了与数据库打交道,编程人员对数据库的语法简单的还行,但过多的数据库语句不是编程人员的重点对象.因此用ORM来操作数据库相当快捷.今天来介绍一下用ORM操作数据库. 一.创建Django项目 可以使用pycharme专业版直接快速创建.如果不是专业版也可以使用命令进行创建.下面列出命令行创建方式: django-admin startproject orm_test 这时会在当前目录创建文件夹名为orm_test,接下来进入

  • Django中ORM外键和表的关系详解

    外键 在 MySQL 中,表有两种引擎,一种是 InnoDB ,另外一种是 myisam .如果使用的是 InnoDB 引擎,是支持外键约束的.外键的存在使得 ORM 框架在处理表关系的时候异常的强大.因此这里我们首先来介绍下外键在 Django 中的使用. 类定义为 class ForeignKey(to,on_delete,**options) .第一个参数是引用的是哪个模型,第二个参数是在使用外键引用的模型数据被删除了,这个字段该如何处理,比如有 CASCADE . SET_NULL 等.

  • 详解关于Django中ORM数据库迁移的配置

    简介 ORM: 关系对象映射.定义一个类自动生成数据库的表结构. 创建数据库的时候,一般有以下几种常用数据类型:数字.字符串以及时间. ORM分为两种: DB First 数据库里先创建数据库表结构,根据表结构生成类,根据类操作数据库 Code First 先写代码,执行代码创建数据库表结构 主流的orm都是code first.django 的orm也是code first,所以学的时候,本质就分为两块: 根据类自动创建数据库表 根据类对数据库表中的数据进行各种操作 手动创建mysql数据库,

  • django中ORM模型常用的字段的使用方法

    与数据类型相关的字段 CharField         作用:字符串字段, 用于较短的字符串.         参数:CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的最大字符数. IntegerField        作用:用于保存一个整数. CommaSeparatedIntegerField         作用:用于存放逗号分隔的整数值. 类似 CharField, 必须要有maxlength参数. FloatField

  • Django中ORM基本应用与原理解析

    目录 1.ORM构建数据表 2.数据迁移 3.Model相关的概念与使用方法 Model的组成部分 Meta元数据类属性说明 Field的通用字段选项 基础字段类型 关系字段类型 多对一 一对一 多对多关系类型 1.ORM构建数据表 由于每一个数据表对应一个Model定义,每一个Model都是一个Python类,所以,Model之间是可以继承的.Django规定,所有的Model都必须继承自django.db.models.Model Model中的所有字段都是django.db.models.

  • 详解PHP如何在两个大文件中找出相同记录

    目录 1.引言 2.思路 3.实操 4.生成测试文件 5.分割文件 6.查找重复记录 7.完整代码 1.引言 给定a,b两个文件, 分别有x,y行数据, 其中(x, y均大于10亿), 机器内存限制100M,该如何找出其中相同的记录? 2.思路 处理该问题的困难主要是无法将这海量数据一次性读进内存中. 一次性读不进内存中,那么是否可以考虑多次呢?如果可以,那么多次读入要怎么计算相同的值呢? 我们可以用分治思想, 大而化小.相同字符串的值hash过后是相等的, 那么我们可以考虑使用hash取模,

  • ORACLE检查找出损坏索引(Corrupt Indexes)的方法详解

    索引 索引与表一样,也属于段(segment)的一种.里面存放了用户的数据,跟表一样需要占用磁盘空间.索引是一种允许直接访问数据表中某一数据行的树型结构,为了提高查询效率而引入,是一个独立于表的对象,可以存放在与表不同的表空间中.索引记录中存有索引关键字和指向表中数据的指针(地址).对索引进行的I/O操作比对表进行操作要少很多.索引一旦被建立就将被Oracle系统自动维护,查询语句中不用指定使用哪个索引. 从物理上说,索引通常可以分为:分区和非分区索引.常规B树索引.位图(bitmap)索引.翻

随机推荐