サイト上のすべての写真をユーザーに表示したいと考えています。別のページで、ユーザーが気に入った写真を表示します。
機能を確認した後、ユーザーが既に気に入った写真を displayallpics.html で表示するのは意味がありません。
ユーザーが気に入った写真を除外して、ユーザーが気に入っていない写真のみを displayallpics.html に表示したいと考えています。
やりたいことのSQLは次のとおりです。
select * from alphart_picdetails where id not in (select picture_id from alphart_like where user_id = 4);
user_id = ログインしているユーザー -- django にそれをさせることができません。
ご協力いただきありがとうございます。
models.py
class PicDetails(models.Model):
poster = models.ForeignKey(User)
Title = models.CharField(max_length=50)
date = models.DateField(("Date"), auto_now_add=True)
def __unicode__(self):
return self.Title
class Like(models.Model):
user = models.ForeignKey(User)
picture = models.ForeignKey(PicDetails)
created = models.DateTimeField(auto_now_add=True)
votes = models.IntegerField()
ビュー.py
def findpics(request): #designed to return all pics posted on the site -the pics user has liked
like_list = Like.objects.filter(user=request.user)
user = request.user
user_list = PicDetails.objects.filter(like=69)
return render_to_response("displayallpics.html", {'user_list':user_list, 'like_list':like_list, 'user':user})
テンプレート displayallpics.html:
{% for object in user_list %}
{{ object.Title }}
{% endfor %}