Django queryset сортировка по полям
у меня есть эта модель:
class ProgrammingQuestionAnswer(models.Model):
programming_question = models.ForeignKey(ProgrammingQuestion, on_delete=models.CASCADE, related_name='programming_question_a', null=True, blank=True)
time = models.DateTimeField(default=timezone.now)
score = models.IntegerField(null=True, blank=True, default=0)
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='writer_answer_programming_question', null=True, blank=True)
accept = models.BooleanField(default=False)
file = models.FileField(upload_to=content_file_name)
result = models.TextField(null=True, blank=True)
file_name = models.CharField(max_length=500, null=True, blank=True)
max_score = models.IntegerField(null=True, blank=True, default=0)
Я хочу написать запрос для получения пользователей, которые решили больше вопросов (имеют больше accept=True) и те, которые равны, сортируются по времени (поле времени). Спасибо
Попробовать
accepted = Q( 'writer_answer_programming_question__accept=True')
User.objects.all.annotate(
accepted_count = Count('writer_answer_programming_question', filter = accepted
).order_by('accepted_count', 'time'
)