【问题标题】:Django model function implementation to auto initialize a particular field's valueDjango模型函数实现自动初始化特定字段的值
【发布时间】:2021-08-08 03:26:20
【问题描述】:

我需要编写一个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)

正如您在此处看到的,每个questionNumericquestionTureFalse 对象都有特定的marks。现在我想将我的questionSet 对象的totalMarks 字段设置为所有questionNumericquestionTureFalse 在此questionSet 对象下携带的标记的总和。

如何在questionSet下编写一个Django Model函数来自动初始化totalMarks

【问题讨论】:

    标签: python sql django


    【解决方案1】:

    您可以在questionSet 中声明一个函数并返回关系计数。比如:

    class QuestionSet(models.Model):
        ...
        def get_question_numeric_count(self):
            return self.questionNumeric.count()
    

    【讨论】:

      猜你喜欢
      • 2012-07-03
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 1970-01-01
      • 2013-07-06
      • 2019-08-26
      相关资源
      最近更新 更多