lybcyd 最近的时间轴更新
lybcyd

lybcyd

V2EX 第 98957 号会员,加入于 2015-02-20 17:19:31 +08:00
今日活跃度排名 3234
lybcyd 最近回复了
5 天前
回复了 zggsong 创建的主题 MacBook Pro mac bilibili Chrome 没有杜比视界选项
Chrome 不支持 h.265 吧
24 天前
回复了 zx9481 创建的主题 Java 请问如何实现数据对比呢?
就几万条,量也不大,直接把数据库数据读成一个 k-v 的 map ,再把 txt 的数据读入一个 list ,直接检查 key 是否存在
67 天前
回复了 ila 创建的主题 Django 请问 Django ORM 如何实现 left join?
@ila 这个写法用了好多 orm 的内部结构,有点舍近求远了,不是很建议。

我简单写了个小 demo ,你看看能不能参考一下。

首先是 model 定义,关联关系是在这里定义的。不知道你的完整表结构,我就简单列了语句里出现的字段,其余的你自己补充一下吧。接下来可以进行查询了。

<script src=".js"></script>

打印这个 queryset ,可以看到生成的语句,我这里用的是 sqlite:

SELECT "employees"."id", "employees"."fullName1", "employees"."workEmail" FROM "employees" LEFT OUTER JOIN "id_mapping" ON ("employees"."id" = "id_mapping"."user_id") WHERE ("employees"."id" LIKE %Steven% ESCAPE '\' OR "employees"."fullName1" LIKE %Steven% ESCAPE '\' OR "employees"."workEmail" LIKE %Steven% ESCAPE '\' OR "id_mapping"."new_id" LIKE %Steven% ESCAPE '\')
67 天前
回复了 ila 创建的主题 Django 请问 Django ORM 如何实现 left join?
django orm 和其他 orm 都不太一样,是不能直接使用 query builder 进行 join 的。后面的 group by 也不方便直接用,不过你这个语句 id 应该是 unique 的,又是非标准的 full group 语法,先忽略掉吧。

像这个语句,如果要尽可能使用 django orm 的推荐做法,应该建一个 IdMapping 的 model ,然后建立一对多或者一对一的关联关系(看你的业务逻辑)。这个关联关系可以直接当做一个 field 获取,也可以在条件里进行 lookup 。假设在 Employee model 里,这个关联关系叫做 mapping ,就可以直接使用 Employee.objects.filter(Q(id__icontains='Steven')|Q(fullName1__icontains='Steven')|Q(workEmail__icontains='Steven')|Q(mapping__new_id__icontains='Steven')).values('id','fullName1', 'workEmail')
来进行查询了。

看看官方文档是怎么定义的:

https://docs.djangoproject.com/zh-hans/4.0/topics/db/models/#many-to-one-relationships

https://docs.djangoproject.com/zh-hans/4.0/topics/db/queries/#lookups-that-span-relationships-1

如果 join 关系实在太复杂,用自带的很难拼接,那就干脆 raw 来实现。ORM 不是万能的,拼接一大堆复杂的条件还不如直接 sql 语句搞定。
代码简单符合直觉啊。类型注解是提示,不是强类型。
laravel 吗?用 laravel valet 吧,可以自动 serve 一个文件夹下所有项目,并配置好 project.test 域名
package.json 是 npm ,yarn 等 node 系包管理器使用的文件,对后端没什么意义。唯一可能有意义的就是用 node 开发后端,那也需要 package.json ,但这个也称不上是前端 package.json 了。
85 天前
回复了 unt 创建的主题 程序员 求问大佬们 UI 框架技术选型
就 antd 呗,又没有特殊的定制需求,怎么方便怎么来,antd 使用广泛遇到问题资料也多
看起来是 N+1 问题,按照 JPA 规范使用 EntityGraph 解决。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2562 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 07:56 · PVG 15:56 · LAX 00:56 · JFK 03:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.