Как отправлять электронные письма и сообщения Whatsapp неактивным пользователям в django

Я хочу отправлять электронные письма и сообщения Whatsapp по истечении срока действия членства. У меня есть команда управления, настроенная на проверку истечения срока членства и обновление статуса. Однако как узнать, какой член обновляется? Я хотел бы создать список словарей с именем и номером, фильтровать их каждый день и рассылать сообщения.

models.py

class Member(models.Model):
    full_name = models.CharField(max_length=125)    
    email = models.EmailField(max_length=125, blank=True, null=True)
    phone = models.CharField(max_length=20)
    image = models.ImageField(max_length= 256, upload_to=upload_to_image_post, null=True, blank=True)
    date_created = models.DateTimeField(default=django.utils.timezone.now)

    class Meta:
        verbose_name_plural = "All Members"

    def __str__(self):
        return str(f"{self.full_name}")


class ActiveMember(models.Model):
    member = models.OneToOneField(Member, on_delete=models.CASCADE, related_name='is_member')
    start_date = models.DateField(default=django.utils.timezone.now)
    end_date = models.DateField(default=django.utils.timezone.now)
    status = models.CharField(max_length=2, choices=(('1','Active'), ('2','Inactive')), default = '1', blank=True, null=True)
    
    def __str__(self): 
        return str(f"{self.member}")

команда управления

from turtle import update
from django.core.management.base import BaseCommand, CommandError
from members.models import ActiveMember
from datetime import datetime, timedelta


class Command(BaseCommand):
    help = 'Deactivate expired memberships!'

    def handle(self, *args, **options):
        ActiveMember.objects.filter(end_date__lt=datetime.now().date()).update(status='2')  

Какой самый простой способ узнать, какой статус участника изменяется, и получить его имя и номер телефона или имя и электронную почту.

Вернуться на верх