some code improvements
This commit is contained in:
parent
114304b3c9
commit
2deb4b3b7f
|
|
@ -15,9 +15,8 @@ from notification.models import Subscribe
|
|||
@shared_task
|
||||
def send_email_with_news(news_ids):
|
||||
subscribes = Subscribe.objects.all() \
|
||||
.prefetch_related('subscriber') \
|
||||
.prefetch_related('subscription_type') \
|
||||
.exclude(unsubscrube_date__isnull=False)
|
||||
.prefetch_related('subscriber', 'subscription_type') \
|
||||
.active()
|
||||
|
||||
sent_news = models.News.objects.filter(id__in=news_ids)
|
||||
|
||||
|
|
@ -33,7 +32,7 @@ def send_email_with_news(news_ids):
|
|||
country = subscribe.subscription_type.country
|
||||
|
||||
if country is None:
|
||||
country_code = subscriber.country_code
|
||||
continue # subscription_type has no country
|
||||
|
||||
else:
|
||||
country_code = country.code
|
||||
|
|
|
|||
|
|
@ -135,6 +135,13 @@ class Subscriber(ProjectBaseMixin):
|
|||
return self.subscription_types.exclude(subscriber__subscribe__unsubscribe_date__isnull=False)
|
||||
|
||||
|
||||
class SubscribeQuerySet(models.QuerySet):
|
||||
|
||||
def active(self, switcher=True):
|
||||
"""Fetches active subscriptions."""
|
||||
return self.exclude(unsubscribe_date__isnull=not switcher)
|
||||
|
||||
|
||||
class Subscribe(ProjectBaseMixin):
|
||||
"""Subscribe model."""
|
||||
|
||||
|
|
@ -144,6 +151,8 @@ class Subscribe(ProjectBaseMixin):
|
|||
subscriber = models.ForeignKey(Subscriber, on_delete=models.CASCADE)
|
||||
subscription_type = models.ForeignKey(SubscriptionType, on_delete=models.CASCADE)
|
||||
|
||||
objects = SubscribeQuerySet.as_manager()
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user