V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  happywowwow  ›  全部回复第 9 页 / 共 31 页
回复总数  607
1 ... 5  6  7  8  9  10  11  12  13  14 ... 31  
fabric ?
2015-05-08 18:32:41 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@eric6356 77777
2015-05-08 18:32:25 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
2015-05-08 18:32:08 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@happywowwow test111
2015-05-08 18:31:43 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
2015-05-08 11:41:00 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
2015-05-08 11:40:20 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
2015-05-08 11:20:01 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@happywowwow 测试
2015-04-19 01:15:04 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@chenxytw 是的 现在就是这么对表做了处理。。。省得出错。。
2015-04-17 19:31:57 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@Catstyle 感谢! 有这个加了就更好了
2015-04-17 17:20:23 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@chenxytw 啊 上面回复你的里面有一条重复了。。。写错了。。
1 1 2
3 1 2
2015-04-17 17:19:04 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@timonwong
啊哈,你说这个 filter 出来的 queryset 是 lazy 是没错的,但 filter 的结果在 if 比较的时候也会触发,不一定需要 all() slice
只有 filter 的 queryset 在bool 比较的时候也会触发。
参见 https://docs.djangoproject.com/en/1.5/ref/models/querysets/#when-querysets-are-evaluated
啊,所以之前我那没有 .all() 的代码也是可以执行的。。。
2015-04-17 17:15:48 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@chenxytw
啊哈,你没有看懂上面的需求吗?
如果有这样的表三个字段,分别是
id user_id team_id
0 1 1
1 1 2
2 2 1
3 1 2
4 3 1
5 1 3
1、只有id是唯一的
2、单个的 user_id,team_id都是可以重复的,也就不能是unique的,但是某一对(user_id, team_id)只能对应一条记录
2015-04-17 16:52:17 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@ericls
感谢~

1、我知道这个api
2、如上一个需求,如果有这样的表三个字段,分别是id user_id team_id 可能有时候有这样的需求 result = objects.get(user_id=123, team_id=321) 如果有两条或者没有的话,就会有错了。这个表中user_id 字段和 team_id 都不是唯一的,但某一个user_id 或者 team_id 对应的结果理论上只能有一条(或没有),但出现多条的情况下,get_object_or_404 这个接口只能处理了 DoesNotExist 这个exception,但还是会报MultipleObjectsReturned。
3、我这rest api设计里面,返回json格式。是的,使用类似 get_object_or_404 这种封装的接口可能是我需要的,而这个封装可能需要我自己去做了~
2015-04-17 16:28:34 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@virusdefender
@yueyoum
感谢两位
所以那些使用 get 的时候需要 catch 这两个 exception ,而 filter 出来的结果需要做一定判断,这是必不可少的了。
我之前的疑惑是有没有办法减少这样的操作,但看来是没有的。
为了服务器的鲁棒,使用get的时候还是都得加上 try catch 的了。
2015-04-17 15:15:32 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@timonwong 啊,上面回复是写错了,应该还有一个.all()

我主题里的问题主要是每次使用这种会抛出异常的query方法,是不是都要放在try里面? 不然好像也没什么办法保证服务器不500?

除非除非,构建鲁棒的写入数据库的操作?
但感觉这难免有异常数据
2015-04-17 14:40:16 +08:00
回复了 happywowwow 创建的主题 Django 关于 django orm 中 get 的 Exception
@fishsjoy 如果有这样的表 id user_id team_id 可能有时候有这样的需求 result = objects.get(user_id=123, team_id=321) 如果有两条或者没有的话,就会有错了

不过想了想,这里是可以用filter代替
除了还是需要判断一下
result = objects.filter(user_id=123, team_id=321)
if not result:
return '404'
else:
result = result[0]
这样吗?
2015-03-31 11:07:45 +08:00
回复了 raly 创建的主题 骑行 这辆车简直帅呆了
1、自行车的发动机是人,所以带电动助力的我都不认为是自行车
2、钛架和复古坐垫,完全不知道帅在哪里

真是好无聊的帖子
少玩山口山
1 ... 5  6  7  8  9  10  11  12  13  14 ... 31  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5664 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 03:09 · PVG 11:09 · LAX 20:09 · JFK 23:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.