사용자가 개체 (이 예에서는 영화의 배우)를 "따라갈 수 있도록"django-follow을 사용하고 있습니다.관련 개체 찾기 및 관계 표시
나는
actors_user_is_following = Follow.objects.get_follows(Actor).filter(user=request.user.id)
를 사용하여 영화 배우의 목록을 후퇴 그러나 나는 또한하고 싶은 사람들은 다음과 같습니다 배우를 기반으로 사용자에게 영화를 제안이다입니다. 이것은 이미 그들이 좋아하는 것과 관련된 영화의 복잡한 알고리즘 일 필요는 없습니다. "이 배우를 따라하고이 배우가이 영화에있어 사용자에게 제안하기 때문에 간단합니다."
나는 이것을 가지고 있습니다. 지금 당장 이걸하는 건데 ...
context['follows'] = {
'actors': Follow.objects.get_follows(Actor).filter(user=request.user.id),
'genres': Follow.objects.get_follows(Genre).filter(user=request.user.id),
}
actor_ids = []
for actor in context['follows']['actors']:
actor_ids.append(actor.target_artist_id)
genre_ids = []
for artist in context['follows']['genres']:
genre_ids.append(artist.genre_ids)
context['suggested'] = {
'films': Listing.objects.filter(Q(actors__in=actor_ids) | Q(genres__in=genre_ids))
}
어떤 방식으로 작동 하나, 더 좋은 방법이있을 것이라고 확신합니까?
는 가장 중요한 또한 ... 사용자가 다음과 같은 것이 그 특징 배우 또는 장르를 표시하여 추천 된 같은 그 영화 때문에 최종 결과는 같을 이유를 사용자에게 보여주고 싶은
film = {
title: 'Dodgeball'
image: '/images/films/dodgeball.jpg'
followed_actors: ['Ben Stiller', 'Vince Vaughn'] #could be multiple
followed_genres: ['Comedy'] #could be multiple
}
참고 여러 영화를 반환하고 싶습니다. 여기
내 모델은 최대 코딩 방법은 다음과 같습니다
필름 모델과 같이 정의 :
from django.db import models
from app.actors.models import Actor
from app.genres.models import Genre
class Film(models.Model):
title = models.CharField(max_length=255)
strapline = models.CharField(max_length=255)
slug = models.SlugField(max_length=100)
image_url = models.CharField(max_length=255)
pub_date = models.DateTimeField('date published')
actors = models.ManyToManyField(Actor)
genres = models.ManyToManyField(Genre)
def __unicode__(self):
return self.title
그리고 배우 모델 : 뒤에서
from django.db import models
from follow import utils
class Actor(models.Model):
title = models.CharField(max_length=255)
strapline = models.CharField(max_length=255)
image = models.CharField(max_length=255)
image_hero = models.CharField(max_length=255)
bio = models.TextField()
def __unicode__(self):
return self.title
#followable
utils.register(Actor)
필름 모델은 어떻게 정의됩니까? – karthikr
@karthikr - 업데이트 된 질문 – kieran