Как проанализировать результат заявителя__count в Model.objects.values("заявитель", "счетчик").annotate(Count("заявительPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как проанализировать результат заявителя__count в Model.objects.values("заявитель", "счетчик").annotate(Count("заявитель

Сообщение Anonymous »

У меня есть модель с этими полями, хотя есть и другие поля, но это мой MRE:

Код: Выделить всё

class Application(models.Model):
applicant = models.ForeignKey(User, on_delete=models.CASCADE,    to_field='email')
company = models.CharField(max_length=100)
counter = models.PositiveIntegerField(editable=False, default=0)
Я хочу найти количество заявок в таблице для каждого заявителя и автоматически проанализировать это значение в поле счетчика. В моем view.py я смог использовать:

Код: Выделить всё

model = Application.objects.values('applicant','counter').annotate(Count("applicant"))
который возвращает правильные значения:

Код: Выделить всё

{'applicant': '[email protected]', 'counter': 1, 'applicant__count': 2} {'applicant': '[email protected]', 'counter': 1, 'applicant__count': 4}
Но я не могу извлечь значение `applicant__count` и проанализировать его непосредственно в поле счетчика в models.py.
Я попробовал использовать метод update, update_or_create, но я не могу обновить модель. Я также пробовал сигналы django pre_save и post_save, но они продолжают увеличивать каждое значение. Например, у одного кандидата может быть много заявлений о приеме на работу, но вместо того, чтобы возвращать общее количество заявлений о приеме на работу для заявителя, сигналы django увеличивают все заявления в таблице.
Есть ли способ автоматически сохранить результат `applicant__count` в моем поле счетчика? Буду очень признателен за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/791 ... sapplicant
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»