[Feeds] update / fix feed-downloader
[mygpo.git] / mygpo / favorites / models.py
blob6d4d93d3fb23aa6e8378cd47bd273e016421a07b
1 from __future__ import unicode_literals
3 from django.db import models
4 from django.conf import settings
6 from mygpo.core.models import UpdateInfoModel
7 from mygpo.podcasts.models import Episode
10 class FavoriteEpisode(UpdateInfoModel):
12 # the user that has a favorite episode
13 user = models.ForeignKey(settings.AUTH_USER_MODEL,
14 on_delete=models.CASCADE)
16 # episode that is the user's favorite
17 episode = models.ForeignKey(Episode, db_index=True,
18 on_delete=models.PROTECT)
20 class Meta:
21 unique_together = [
22 ('user', 'episode'),
25 @classmethod
26 def episodes_for_user(cls, user):
27 """ Favorite episodes of the given user
29 Returns the episodes directly, not the FavoriteEpisode objects """
30 return Episode.objects.filter(favoriteepisode__user=user)\
31 .select_related('podcast')\
32 .prefetch_related('slugs', 'podcast__slugs')