Значение по умолчанию для экземпляра модели Django

У меня есть модель Django

  name        = models.CharField(max_length=255)
  excerpt     = models.TextField()
  desc        = models.TextField()
  due_date    = models.DateTimeField()
  created_at  = models.DateTimeField()
  priority    = models.IntegerField(default = 1)

Когда я создаю экземпляр модели, я хочу установить значение приоритета на максимальное значение среди всех экземпляров, увеличенное на единицу. (max(priority)+1). Спасибо.

Я думаю, что этот вопрос может быть дубликатом Как сделать SELECT MAX в Django?, но общая идея заключается в использовании агрегации:

from django.db.models import Max

max = YourModel.objects.all().aggregate(Max('priority'))
newModelInstance = YourModel.objects.create(priority=max+1)
Вернуться на верх