Обновление поля модели в методе сохранения на основе значений других выбранных полей, включая поле m2m

Я пытаюсь обновить поле модели, переопределив метод сохранения:

class DataTable(models.Model):
    id = models.AutoField(db_column='Id', primary_key=True)
    country= models.ForeignKey(Countries,on_delete=models.DO_NOTHING,db_column='CountryId')
    university=models.ManyToManyField(Universities,db_column='UniversityId',verbose_name='University',related_name='universities')
    intake = models.CharField(db_column='Intake',blank=True, null=True, max_length=20, verbose_name='Intake')
    year = models.CharField(max_length=5,blank=True,null=True)
    application_status = models.ForeignKey(Applicationstages,on_delete=models.DO_NOTHING, db_column='ApplicationStageId',verbose_name='Application Status')
    requested_count = models.PositiveIntegerField(db_column='RequestedCount',blank=True,null=True)    
    class Meta:
        db_table = 'DataTable'
        
    def __str__(self):
        return str(self.application_status)
    def __unicode__(self):
        return str(self.application_status)
    def save(self,*args, **kwargs):
        super(DataTable,self).save(*args, **kwargs)
        country_id= self.country
        intake= self.intake
        year= self.year
        universities= self.university.all()
        courses = get_ack_courses(country_id,universities)
        all_data = get_all_courses(intake,year,courses)
        ack_data = get_acknowledgements_data(all_data)
        self.requested_count =len(ack_data)
        super(DataTable,self).save(*args, **kwargs)

Я пытаюсь обновить поле requested_count, используя значения других полей, но в методе сохранения, когда я пытаюсь получить данные поля m2m ; оно возвращает пустое. Я также пробовал с сигналом post_save и там также данные поля m2m пустые.

Я хочу, чтобы поле count основывалось на других полях из этой модели. Как сохранить, если у нас есть m2m поля?

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