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/