python - 高效的 Django 查询

标签 python sql django django-models

Django 做事的方式有点新,但我有一系列的循环,我相信可以更有效地完成。本质上,我有一组相关对象,我需要向下钻取图形以从最终相关对象检索值。我正在循环对象以最终获得我想要的值。请看下面的代码:

            for media in campaign.media_set.all():
                media_key = media.key
                for target in media.target_set.all():
                    x = target.x
                    y = target.y
                    target_id = target.id
                    for metatag in target.metatag_set.all():
                        body = metatag.body
                        hdr = metatag.header
                        ftr = metatag.footer
                        ct_url = metatag.clickthrough
                        point_url = metatag.point.image_file

关于在 less DB 选择中执行此操作的方法的任何指示?

最佳答案

是的,您正在倒退。这是我在使用 Django 时遇到过很多次的问题。最简单的方法是开始您要检索的对象并向后工作以满足所有条件。即,您似乎需要有关此 元标记 的一些信息,因此请从那里开始。

MetaTag.objects.filter(conditions_here)

然后要检索其他内容,例如此目标 x/y,只需使用在 MetaTag 对象上创建的自动 related_name 属性。在没有看到您的模型的情况下很难准确地说出。

关于python - 高效的 Django 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6419384/

相关文章:

python - 如何在 django Rest_framework_csv 中设置 CSVRenderer 的分隔符?

Django 管理媒体未加载

python - assertRises 失败

Django:如何在给定实际值和选项的情况下访问模板中 ChoiceField 的显示值?

python - 使用 Ubuntu 16.04 获取 wxPython 并将其与 Pycharm 一起使用

python - 简单的 Python-MySQL 桥?

python - 让 SQL 引擎做约束检查或执行查询以预先检查约束

php - MySQL 选择全部并根据另一列更新特定列字段

php - 如何以编程方式编写 nslookup?

Python:子进程不写入输出文件