Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Django:获取列为空的对象

Django:获取列为空的对象
EN

Stack Overflow用户
提问于 2015-12-27 20:33:36
回答 2查看 285关注 0票数 0

我希望做这样的事情:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
u = User.objects.filter(name__isnull=True)[0]

name的MySQL中默认值为None。我也试过了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
u = User.objects.filter(name=None)[0]

这两个都没有返回任何东西,也就是IndexError: list index out of range。如何获取未将值设置为名称的对象?

EN

回答 2

Stack Overflow用户

发布于 2015-12-27 23:15:17

尽管MySQL说默认值是None,但Django使用"“作为默认值,所以我使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User.objects.filter(name="").first()
票数 1
EN

Stack Overflow用户

发布于 2015-12-27 23:23:49

您遗漏了一些关键概念。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
IndexError: list index out of range

这个错误不是一个在数据库中查找的错误,这个错误是因为你试图用一个不存在的数组索引来做一些事情。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = [1,2,3]
a[0] = 1
a[2] = 2
a[3] = 3
a[4] = IndexError: list index out of range
a[n] = IndexError: list index out of range

您可以正常执行以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
u = User.objects.filter(name=None)

在数据库中,如果您设置了Null =真和空白=真(我不建议这样做),那么在模型中您可以有'name=None‘和’name=‘“’

问题是,您假设至少有一个用户与您的参数相同,因此您要添加来检索用户实例而不是查询集。

如果您希望仅检索且仅检索查询的一项,则必须使用.get (通常用于搜索pk,如果返回多个项,则会给出错误)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
u = User.objects.get(name=None)

但是,如果您知道在中可以存在多个项(例如,名称而不是pk),并且您只关心第一次使用.first方法,然后再检查是否存在。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User.objects.filter(name="").first()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34484548

复制
相关文章
空对象和空的对象
空对象:表面内部不包含任何属性和方法的对象,比如var obj={}就是一个空对象
十月梦想
2018/08/29
1.3K0
Umi4获取不到props,默认为空对象
升级到 Umi4 后,有同事和我反映,之前的一些组件不能用了,获取不到 props ,props 是空对象。
德顺
2023/08/25
8060
Umi4获取不到props,默认为空对象
Umi4获取不到props,默认为空对象
升级到 Umi4 后,有同事和我反映,之前的一些组件不能用了,获取不到 props ,props 是空对象。
德顺
2022/09/26
1.9K1
Umi4获取不到props,默认为空对象
JavaScript 判断空对象、空数组的方法
从表格中,我们可以看出想要判断是不是null, undefined , "", 0,都比较容易, 非操作 和 比较操作 都能实现。就是{}, []比较顽固,两种方法都无效。
celineWong7
2020/11/05
29.9K0
java判断空对象为空_Java判断对象是否为空(包括null ,””)的方法[通俗易懂]
public static boolean isEmpty(Object obj)
全栈程序员站长
2022/06/25
7K0
js判断空对象
如果它返回一个空数组,这意味着该对象没有任何可枚举的属性,这反过来意味着它是空的。
IT工作者
2022/01/04
18.5K0
空对象(Null)模式
一个方法返回 NULL,意味着方法的调用端需要去检查返回值是否是 NULL,这么做会导致非常多的冗余的检查代码。并且如果某一个调用端忘记了做这个检查返回值,而直接使用返回的对象,那么就有可能抛出空指针异常。
MickyInvQ
2022/05/06
6080
空对象(Null)模式
java怎么判断对象不为空_java判断对象是否为空的方法
这篇文章将为大家详细讲解有关java判断对象是否为空的方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
全栈程序员站长
2022/09/07
4.8K0
java 对象为空判断_java中判断对象是否为空的方法
首先,直接使用 object == null 去判断,对象为null的时候返回true,不为null的时候返回false。然后,在object != null 为true的情况下,进一步去判断对象的所有属性是否为null。
全栈程序员站长
2022/08/15
11.5K0
java 对象为空判断_java中判断对象是否为空的方法
tp5如何创建空对象(用于接口返回json空对象)
{ “code”: 1, “msg”: “成功”, “time”: “1660123209”, “data”: {}, }
超级小可爱
2023/02/20
4.2K0
java如何判断对象为空_java对象如何判断是否为空
在实际书写代码的时候,经常会因为对象为空,而抛出空指针异常java.lang.NullPointerException。
全栈程序员站长
2022/06/25
13.4K0
java如何判断对象为空_java对象如何判断是否为空
vue 对象判断为空_Vue中可用的判断对象是否为空的方法
vue有两个方法可用 1. JSON.stringify(evtValue)=='{}’ 2. Object.keys(xxx).length==0 js判断对象是否为空对象的几种方法 1.将json对象转化为json字符串,再判断该字符串是否为”{}” var data = {}; var b = (JSON.stringify(data) == “{}”); alert(b);//true 2.for in 循环判断 var obj = {}; var b =…
全栈程序员站长
2022/08/12
6.2K0
设计模式-空对象模式
一般情况在编写代码的时候判断为空需要通过null==来判断,而这样的写法很难看,一眼看下去几百行代码,密密麻麻都是这些判断,代码很不优雅,有时还漏判还会导致空指导异常。这个问题,java的空对象模式很不错的解决方案,可以做到优雅判断。
逍遥壮士
2020/09/18
9040
django 获取 request 的 url
    print(request.get_full_path())                             ^ SyntaxError: invalid character in identifier
卓越笔记
2023/02/18
2K0
使用“空”对象替代引用是否为空判断
使用Null对象替代引用是否为空判断 编程语言中最常见运行时异常非NullPointerException莫属,只要程序依赖于外部的输入数据,比如说http请求传递的查询字符串参数、关系数据库连接、磁盘文件读取,空引用异常就无法避免。通常,程序需要满足某些条件才能正常的往下执行,假如这些条件依赖外部输入数据,而这些外部输入的数据肯定无法保证百分百不出错,比如说网络连接失败、数据库用户名密码错误等,当程序被这些节外生枝的障碍打断时,空引用异常就极有可能被引发。 比如说,原本我们调用一个方法,这个方法会执行连接
用户1608022
2018/04/11
7.6K0
java怎么判断对象为空_java中怎么判断对象是否为空
一种是org.apache.commons.lang3包下的;另一种是org.springframework.util包下的。
全栈程序员站长
2022/06/28
6.8K0
java怎么判断对象为空_java中怎么判断对象是否为空
空对象模式(Null Object Pattern)
空对象模式(Null Object Pattern)不属于GoF设计模式,但是它作为一种经常出现的模式足以被视为设计模式了。其具体定义为设计一个空对象取代NULL对象实例的检查。NULL对象不是检查控制,而是反映一个不做任何动作的关系。这样的NULL对象也可以在数据不可用的时候提供默认的行为,属于行为型设计模式。
Tom弹架构
2021/11/25
8240
点击加载更多

相似问题

NHibernate保存对象,列为空。

12

如何使Django中的现有列为空

13

列为空

46

JPA条件Api选择列为空的对象

10

获取要发送的EntityFramework或列为空

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文