latest award for establishment
This commit is contained in:
parent
4d113a6916
commit
4388fb7346
|
|
@ -281,7 +281,7 @@ class Establishment(ProjectBaseMixin, URLImageMixin, TranslatedFieldsMixin):
|
|||
slug = models.SlugField(unique=True, max_length=50, null=True,
|
||||
verbose_name=_('Establishment slug'), editable=True)
|
||||
|
||||
awards = generic.GenericRelation(to='main.Award')
|
||||
establishment_awards = generic.GenericRelation(to='main.Award')
|
||||
tags = generic.GenericRelation(to='main.MetaDataContent')
|
||||
reviews = generic.GenericRelation(to='review.Review')
|
||||
comments = generic.GenericRelation(to='comment.Comment')
|
||||
|
|
@ -312,6 +312,19 @@ class Establishment(ProjectBaseMixin, URLImageMixin, TranslatedFieldsMixin):
|
|||
country = self.address.city.country
|
||||
return country.low_price, country.high_price
|
||||
|
||||
@property
|
||||
def awards(self):
|
||||
latest_employee_awards = Employee.objects.filter(
|
||||
establishments=self
|
||||
).annotate(
|
||||
latest_employee_award=Max('awards__vintage_year')
|
||||
).filter(
|
||||
awards__vintage_year=F('awards__vintage_year')
|
||||
).get().awards
|
||||
latest_establishment_award = self.establishment_awards.latest(field_name='vintage_year').get()
|
||||
awards = [award for award in latest_employee_awards + [latest_establishment_award] if award is not None]
|
||||
return [awards.sort(key=lambda award: award.vintage_year)[0]]
|
||||
|
||||
# todo: make via prefetch
|
||||
# @property
|
||||
# def subtypes(self):
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user