在django请求中写入id = -1意味着什么?

Petriichuk

我正在阅读某人的代码,并且有书面内容

get_object_or_404(Order, id=-1)

有人可以解释的目的id=-1吗?

威廉·范昂塞姆

get_object_or_404[Django-doc]将模型或查询集作为输入,并旨在使用剩余的位置命名参数对其进行过滤然后,它的目的是获取该对象,并在该对象并案件引起404存在。

因此,这里我们的目标是获得具有的Order对象id=-1因此,在“幕后”执行的查询为:

Order.objects.get(id=-1)  # SELECT order.* FROM order WHERE id=-1

但是,在大多数数据库id中,(严格地)s是正数(如果这些是自动分配的)。因此,除非使用显式保存Order对象,否则始终会引发404异常。id=-1

但是,有时有时会存储带有负ID的对象,以便于检索和更新“特殊”对象(尽管我个人认为这不是一个好习惯,因为这实际上与单例全局状态反模式有关)。因此,您可以查看(例如在数据库中或在代码中)是否存在带有负数ids的对象如果未创建这些对象,则此代码将始终导致404响应。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

shellescape函数中的数字1在vim中意味着什么?

在python中,这意味着1、2 == 1、2是什么意思?

为什么我在 PCA 中的 n 分量只能是 1(指数意味着 1)

JBOSS中的上游项目意味着什么?

在YAML中这意味着什么?

C中的sizeof(* v)意味着什么?

在Scala中这意味着什么foreach(_ =>())?

“ {} \;”代表什么 意味着查找(在Linux中)?

脂肪中的数据块意味着什么

“然后”在CasperJS中真正意味着什么

.pipe()在gulp中到底意味着什么?

objc语法中的单&意味着什么?

压缩git中的提交意味着什么?

fstab中的uhelper选项意味着什么?

在TinkerPop中next()意味着什么

Fargate中的vCPU真正意味着什么?

No SQL中更少的架构意味着什么?

样本功能中的替换意味着什么?

在构造函数中这意味着什么?

scipy.interpolate.interp1d中kind参数的不同值意味着什么?

当 conv3d pytorch 中的内核深度 = 1 时,这意味着什么

if((i = fis.read())!= -1)在此程序中到底意味着什么?

“从表1,表2中选择”意味着什么操作?

在C#中,在比较中使用Timespan.FromSeconds(-1)意味着什么?

在Python的制浆库中解决问题后状态为-1时意味着什么?

void在打字稿中做什么/意味着什么?

什么是“ =”?在AngularJS中的指令范围意味着什么?

在python中什么都不返回意味着什么?

派生在Haskell中做什么/意味着什么?