mysql - django数据库查询问题
天蓬老师
天蓬老师 2017-04-17 13:46:33
[MySQL讨论组]

有这样几张表:

要查询某一地区的url情况,需要从urlcollect表中的mac入手,查询到该mac属于的地区。

问题是urlcollect表没有键和router关联,虽然他们都有mac字段……
请问django有没有方法可以查询这种没有外键连接的情况


我用两层循环可以得到数据,但是很耗时:

r = Routers.objects.filter(router_groups_id__province_id=7644)
for i in r:
    u = UrlCollect.objects.filter(router_mac=i.mac)
    for j in u:
        print(j.url)

如果用原生sql语句就快很多:

SELECT url.url, count(url.url) nums, r.mac, rg.province_id, d.name from app_urlcollect AS url
  RIGHT JOIN app_routers AS r  ON url.router_mac=r.mac
  RIGHT JOIN app_routergroups as rg ON r.router_groups_id=rg.id
  RIGHT JOIN app_districts AS d ON d.id=rg.province_id WHERE rg.province_id='7644'
  GROUP BY url.url

求一个优雅一点的django方法?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号