gpt4 book ai didi

python - 给定模型的 Django GenericForeignKey 查找

转载 作者:行者123 更新时间:2023-11-28 19:26:50 25 4
gpt4 key购买 nike

我使用了一个投票应用程序(django-ratings,如果这有什么不同的话),它使用 django 的 GenericForeignKey,有一个用户的 ForeignKey,以及几个其他字段,比如最新更改的日期。

我想获取一种内容类型的所有对象,单个用户投票赞成按最新更改日期排序。据我了解-所有信息都可以在一个表中找到(除了可以预取/缓存的content_type)。不幸的是,每次我请求 content_object 时,django 仍然会进行额外的查询。

所以问题是 - 我如何获得给定模型、给定用户、相关对象和给定排序的所有投票,并且数据库命中率最低?

编辑:现在我正在使用 2 个查询 - 首先选择所有投票,获取我需要的所有对象,通过 .filter(pk__in=obj_ids) 过滤,最后将它们填充到投票对象中。但似乎 reverse generic relation可以帮助解决问题

最佳答案

你检查过select_related()了吗?这可能会有所帮助。

Returns a QuerySet that will automatically "follow" foreign-key relationships, selecting that additional related-object data when it executes its query. This is a performance booster which results in (sometimes much) larger queries but means later use of foreign-key relationships won't require database queries.

https://docs.djangoproject.com/en/dev/ref/models/querysets/#select-related

关于python - 给定模型的 Django GenericForeignKey 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8636845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com