Add in_favorites into models
This commit is contained in:
parent
b23a79775d
commit
2cb4d22a94
|
|
@ -13,6 +13,20 @@ class RecipeQuerySet(models.QuerySet):
|
|||
return self.filter(state__in=[self.model.PUBLISHED,
|
||||
self.model.PUBLISHED_EXCLUSIVE])
|
||||
|
||||
def annotate_in_favorites(self, user):
|
||||
"""Annotate flag in_favorites"""
|
||||
favorite_establishments = []
|
||||
if user.is_authenticated:
|
||||
favorite_establishments = user.favorites.by_content_type(app_label='recipe',
|
||||
model='recipe') \
|
||||
.values_list('object_id', flat=True)
|
||||
return self.annotate(in_favorites=models.Case(
|
||||
models.When(
|
||||
id__in=favorite_establishments,
|
||||
then=True),
|
||||
default=False,
|
||||
output_field=models.BooleanField(default=False)))
|
||||
|
||||
|
||||
class Recipe(TranslatedFieldsMixin, ImageMixin, BaseAttributes):
|
||||
"""Recipe model."""
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user