Реализация функции модели Django для автоматической инициализации значения определенного поля

Мне нужно написать функцию модели Django для вычисления значения существующего поля.

мой models.py:

class questionNumeric(models.Model):
    question = models.TextField()
    marks = models.IntegerField()
    correctAns = models.FloatField()

class questionTureFalse(models.Model):
    question = models.TextField()
    marks = models.IntegerField()
    correctAns = models.BooleanField()

class questionSet(models.Model):
    examName = models.CharField(max_length=200)
    questionNumeric = models.ManyToManyField(questionNumeric)
    questionTureFalse = models.ManyToManyField(questionTureFalse)
    totalMarks = models.IntegerField(default=0)

Как вы можете видеть здесь, каждый объект questionNumeric или questionTureFalse имеет определенные marks. Теперь я хочу установить поле questionSet объекта totalMarks с суммой оценок, которые несут все questionNumeric или questionTureFalse под этим questionSet объектом.

Как написать функцию Django Model под questionSet для автоматической инициализации totalMarks?

Вы можете объявить функцию в questionSet и вернуть счетчик отношений. Например, что-либо вроде:

class QuestionSet(models.Model):
    ...
    def get_question_numeric_count(self):
        return self.questionNumeric.count()
Вернуться на верх