Django: получение смещения объекта в QuerySet - PullRequest
0 голосов
/ 03 июня 2018

У меня есть две модели, одна из которых представляет собой текст вопроса, а вторая - ответ для конкретного пользователя и вопроса.Я, пользователь, ответил на многие вопросы, задал вопрос, как мне найти индекс соответствующего ответа?Индекс означает количество предыдущих ответов / позицию данного ответа.

Более конкретно, когда я запрашиваю следующее:

from django.db import models
from django.conf import settings

class Question(models.Model):
    body = models.TextField()

class Answer(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, models.CASCADE)
    question = models.ForeignKey(Question, models.CASCADE)
    answer = models.TextField()


def getIndexOfAnswer(user, question):
    answer = user.answer_set.filter(user=user, question=question).all().order_by("pk")
    return answer.???index()???

, как я могу получить индекс ответа дляданный пользователь (скажем, по заказу PrimaryKey)?

1 Ответ

0 голосов
/ 03 июня 2018

У меня есть это!

def getIndexOfAnswer(user, question):
    answer = user.answer_set.filter(question=question).get()
    return user.answer_set.filter(pk__lte=answer.pk).count() - 1
...