2017-07-07 10 views
0

の値によってフィルタオブジェクトを取得し、私自身のセッションにユーザーをリンクし、次のモデルがあります:別のテーブル

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() 
+1

ポストモデルがあまりにも – Exprator

+0

2番目の表は、ジャンゴ – Chris

+0

から標準ユーザーモデルは、少なくともセッションテーブルを投稿していますか? – Exprator

答えて

1

特定のユーザーに対して期限切れになっていないすべてのセッションを希望しますか?次に、サブクエリの理由はありません。ユーザーとセッションテーブルに参加し、expire_dateを比較するだけですか?

UserSession.objects.filter(user_id = 1, session__expire_data__gt = timezone.now()) 
+0

それだけです!どうもありがとうございました。 – Chris