Значение по умолчанию для экземпляра модели 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)