相关疑难解决方法(0)

Django - 过滤相关对象

对于我的Django应用程序,我有事件,评级和用户.评级通过外键与事件和用户相关.当显示事件列表时,我想通过user_id过滤事件的评级,因此我知道用户是否对事件进行了评级.

如果我做:

event_list = Event.objects.filter(rating__user=request.user.id)
Run Code Online (Sandbox Code Playgroud)

(request.user.id给出当前登录用户的user_id)...然后我只获取用户评分的事件而不是整个事件列表.

我需要的东西可以通过自定义SQL生成:

SELECT *
FROM `events_event`
LEFT OUTER JOIN (
  SELECT *
  FROM `events_rating`
  WHERE user_id = ##
  ) AS temp 
ON events_event.id = temp.user_id
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法,所以我不必使用自定义SQL?

django filter

18
推荐指数
3
解决办法
4万
查看次数

标签 统计

django ×1

filter ×1