Присвойте Django значение модели по умолчанию как количество ключей внешнего поля. - PullRequest
0 голосов
/ 29 января 2020

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

class TestInfo(models.Model):
    customer_name = models.ForeignKey(TestQuestion, on_delete=models.PROTECT, to_field="correct_answer" default=self.get_count())
    def get_count(self):
        TestQuestion.objects.filter(user=settings.AUTH_USER_MODEL, test_number=TestQuestion.test_number).count(correct_answer=True)

Всякий раз, когда происходит создание или редактирование, оно должно заполнять значение до customer_name. Я реализую значение сохранения для TestInfo.customer_name при добавлении или изменении списка значений или изменении значения в режиме сохранения / редактирования модели TestQuestion.

1 Ответ

2 голосов
/ 29 января 2020

Вы можете установить pre_save singal на TestInfo и установить значение, полученное с помощью get_count (возможно, в этом случае статический метод будет лучше).

...