V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
P9
V2EX  ›  Python

Django Dynamic Query ——Django中如何动态查询

  •  
  •   P9 · 2014-01-16 14:22:30 +08:00 · 3434 次点击
    这是一个创建于 3760 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Django中,常常遇到多个场景对某个模型进行不同条件的查询。
    重复写查询语句,无疑是个累人的活儿!
    有没有什么方法可以一劳永逸?

    http://scriptogr.am/pison/post/django-dynamic-query-
    10 条回复    1970-01-01 08:00:00 +08:00
    est
        1
    est  
       2014-01-16 15:11:08 +08:00
    前几天CPyUG上的

    P9
        2
    P9  
    OP
       2014-01-16 16:07:21 +08:00
    @est 我不太倾向用exec, 另外这个不符合python的精神阿。感觉在写perl,晦涩了。


    兄弟手抖得太厉害了……
    chuangbo
        3
    chuangbo  
       2014-01-17 16:40:18 +08:00
    @est 更奇葩的不仅仅是 exec 还要把代码用 base64 + zlib 压缩。。
    https://code.google.com/p/eurasia/source/browse/branches/3.2/eurasia.py#499
    P9
        4
    P9  
    OP
       2014-01-17 19:26:26 +08:00
    @chuangbo 这样的好处是?
    chuangbo
        5
    chuangbo  
       2014-01-18 00:04:41 +08:00
    @P9 https://groups.google.com/d/msg/eurasia-users/eiKhsGzUl4g/027gEiyJtzUJ

    沈游侠是这样回复我的

    2012/12/28 ChuangBo:

    > 有个疑惑,游侠为什么要把代码模板用 zlib + base64 压缩起来呢?为了 1000 lines achievement unlocked?
    主要还是为了可读性及可维护性,我认为一旦代码行数到达一定规模,
    即便使用强大的开发工具和代码查看工具,也无法很好地阅读及维护代码。

    因为代码模板是运行在临时的 <string> 模块中,在调试时行号是从字符串
    顶部开始计算,这部分内容比较适合压缩起来,并在调试时手工展开到新文件。
    bh3887
        6
    bh3887  
       2014-01-22 17:45:57 +08:00
    感觉用的多的还是Q
    P9
        7
    P9  
    OP
       2014-01-22 19:01:54 +08:00
    @bh3887 也是能结合Q做一些更复杂的查询动作de
    P9
        8
    P9  
    OP
       2014-01-22 19:04:15 +08:00
    @chuangbo

    答案超乎想象。我还以为这样的方式不具备可读性和维护性。
    这样看来,还是自己的接触有限,无法体会到另一个层次的代码量?

    ‘因为代码模板是运行在临时的 <string> 模块中,在调试时行号是从字符串
    顶部开始计算,这部分内容比较适合压缩起来,并在调试时手工展开到新文件’
    这段的意思是 在调试时,可以随时调入代码查看上下文么?
    P9
        9
    P9  
    OP
       2014-01-22 19:04:36 +08:00
    @chuangbo 还是第一次看到这样的方式。
    chuangbo
        10
    chuangbo  
       2014-01-22 20:51:03 +08:00
    @P9 我也理解不能。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   933 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:50 · PVG 02:50 · LAX 11:50 · JFK 14:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.