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找出内容不为空的数据实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2020-05-19

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.

Mysql查询表中最小可用id值的方法

今天在看实验室的项目时,碰到了一个让我"棘手"的问题,其实也是自己太笨了.先把 sql 语句扔出来 // 这条语句在id没有1时,不能得到正确的查询结果. select min(id+1) from oslist c where not exists (select id from oslist where id = c.id+1); 刚开始看到这条查询语句,完全是一脸懵X的状态,可能也是好久没碰 sql 了. 1 exists语法 sql 语法中, exists 用来筛选结果.实际执

Laravel Eloquent ORM 实现查询表中指定的字段

在使用Laravel ORM的Model方法find, get, first方法获取数据对象时返回的数据对象的attributes属性数组里会包含数据表中所有的字段对应的键值关系, 那么如何在ORM查询时只返回数据表中指定字段的数据呢?很多时候,文档上没有写明的用法需要我们去看源码来探究的,下面我们就来看一下这三个方法的实现. 由于ORM依赖了QueryBuilder来实现查询, 在QueryBuilder的源码里通过查看get,first方法的实现可以到,他们都可以接收一个数组参数来指定要查询

django orm模块中的 is_delete用法

数据库删除数据咱都知道,简单的说就是当一条数据对企业没用后,一般人可能会选择删除这条数据. 但是删除后,万一以后又突然有用呢.所以我们这时候会选择在写orm模块的时候,加入is_delete字段 is_delete = models.BooleanField(default=False,verbose_name='是否删除') 这样以后咱如果要删除一条数据了,就设置一下 is_delete=1 就表示这条数据在逻辑上删除了,简单的说就是你再怎么搜数据库也搜不到了,如果以后还用,就再设置 is_d

Mysql中 unique列插入重复值该怎么解决呢

当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT.中断操作或者更新旧记录为新值. mysql> create table menus(id tinyint(4) not null auto_increment, -> label varchar(10) null,url varchar(20) null,unique key(id)); Query

JS使用ajax方法获取指定url的head信息中指定字段值的方法

本文实例讲述了JS使用ajax方法获取指定url的head信息中指定字段值的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码用来获取ajax_info.txt的head信息中的Last modified属性,最后修改时间 <!DOCTYPE html> <html> <head> <script> function loadXMLDoc(url) { var xmlhttp; if (window.XMLHttpRequest) {// code

Python Pandas中根据列的值选取多行数据

Pandas中根据列的值选取多行数据 # 选取等于某些值的行记录 用 == df.loc[df['column_name'] == some_value] # 选取某列是否是某一类型的数值 用 isin df.loc[df['column_name'].isin(some_values)] # 多种条件的选取 用 & df.loc[(df['column'] == some_value) & df['other_column'].isin(some_values)] # 选取不等于某些值的

ASP.NET中访问DataGrid中所有控件值的方法

本文实例讲述了ASP.NET中访问DataGrid中所有控件值的方法.分享给大家供大家参考,具体如下: <%@ Page Language="C#" %> <%@ import Namespace="System.Collections" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) { if(!Page.IsPost

go语言通过反射获取和设置结构体字段值的方法

本文实例讲述了go语言通过反射获取和设置结构体字段值的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: type MyStruct struct {         N int } n := MyStruct{ 1 } // get immutable := reflect.ValueOf(n) val := immutable.FieldByName("N").Int() fmt.Printf("N=%d\n", val) // prints

JS获取多维数组中相同键的值实现方法示例

本文实例讲述了JS获取多维数组中相同键的值实现方法.分享给大家供大家参考,具体如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> Demo </TITLE> <META NAME="Keywords" CONTENT=""> <META NAME