我有以下模型将用户链接到他的会话:
class UserSession(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
session = models.ForeignKey(Session)
现在我想从给定用户那里获得所有活动会话。
如何在Django 1.10中执行以下SQL?
SELECT * FROM django_session WHERE session_key IN (SELECT session_id FROM usersys_usersession WHERE user_id = 1) AND expire_date > now()
答案 0 :(得分:0)
我假设你想要给定用户的所有会话都没有过期?那么子查询就没有理由了。只需加入用户和会话表,并比较expire_date?
UserSession.objects.filter(user_id = 1, session__expire_data__gt = timezone.now())