diff --git a/movies/models.py b/movies/models.py index 8971a01a..274706af 100644 --- a/movies/models.py +++ b/movies/models.py @@ -208,6 +208,15 @@ class Movie(Entity): qs = qs & ~Q(id=self.id) return Movie.objects.filter(qs).order_by('season') + def get_identicals(self): + qs = Q(orig_title=self.title) + if self.imdb_code: + qs = Q(imdb_code=self.imdb_code) + # qs = qs & ~Q(id=self.id) + return Movie.objects.filter(qs) + else: + return [self] # Book.objects.filter(id=self.id) + @property def verbose_category_name(self): if self.is_series: diff --git a/movies/templates/movies/detail.html b/movies/templates/movies/detail.html index 5e6c0a09..13419d04 100644 --- a/movies/templates/movies/detail.html +++ b/movies/templates/movies/detail.html @@ -268,6 +268,10 @@ {% endif %} {{ others_mark.edited_time }} + {% if others_mark.movie != movie %} + {{ others_mark.movie.get_source_site_display }} + {% endif %} + {% if others_mark.text %}
{{ others_mark.text }}
{% endif %} @@ -297,6 +301,10 @@ {% endif %} {{ others_review.edited_time }} + {% if others_review.movie != movie %} + {{ others_review.movie.get_source_site_display }} + {% endif %} + {{ others_review.title }} {{ others_review.get_plain_content | truncate:100 }} diff --git a/movies/templates/movies/mark_list.html b/movies/templates/movies/mark_list.html index 9fa50806..9aa1638e 100644 --- a/movies/templates/movies/mark_list.html +++ b/movies/templates/movies/mark_list.html @@ -54,6 +54,11 @@ {% endif %} {{ mark.edited_time }} + {{ mark.edited_time }} + {% if mark.movie != movie %} + {{ mark.movie.get_source_site_display }} + {% endif %} + {% if mark.text %}{{ mark.text }}
{% endif %} diff --git a/movies/templates/movies/review_list.html b/movies/templates/movies/review_list.html index 91193bb8..43eadad3 100644 --- a/movies/templates/movies/review_list.html +++ b/movies/templates/movies/review_list.html @@ -46,6 +46,9 @@ {% endif %} {{ review.edited_time }} + {% if review.movie != movie %} + {{ review.movie.get_source_site_display }} + {% endif %} {{ review.title }} diff --git a/movies/views.py b/movies/views.py index b659d932..830b1e05 100644 --- a/movies/views.py +++ b/movies/views.py @@ -187,8 +187,8 @@ def retrieve(request, id): mark_list_more = None review_list_more = None else: - mark_list = MovieMark.get_available(movie, request.user) - review_list = MovieReview.get_available(movie, request.user) + mark_list = MovieMark.get_available_for_identicals(movie, request.user) + review_list = MovieReview.get_available_for_identicals(movie, request.user) mark_list_more = True if len(mark_list) > MARK_NUMBER else False mark_list = mark_list[:MARK_NUMBER] for m in mark_list: @@ -342,7 +342,7 @@ def create_update_mark(request): def retrieve_mark_list(request, movie_id, following_only=False): if request.method == 'GET': movie = get_object_or_404(Movie, pk=movie_id) - queryset = MovieMark.get_available(movie, request.user, following_only=following_only) + queryset = MovieMark.get_available_for_identicals(movie, request.user, following_only=following_only) paginator = Paginator(queryset, MARK_PER_PAGE) page_number = request.GET.get('page', default=1) marks = paginator.get_page(page_number) @@ -549,7 +549,7 @@ def retrieve_review(request, id): def retrieve_review_list(request, movie_id): if request.method == 'GET': movie = get_object_or_404(Movie, pk=movie_id) - queryset = MovieReview.get_available(movie, request.user) + queryset = MovieReview.get_available_for_identicals(movie, request.user) paginator = Paginator(queryset, REVIEW_PER_PAGE) page_number = request.GET.get('page', default=1) reviews = paginator.get_page(page_number)