django - Django:获取 QuerySet 中对象的偏移量
问题描述
我有两个模型,一个是问题文本,第二个是用户和问题特定的答案。我一个用户已经回答了很多问题,给定一个问题,我怎样才能找到相应答案的索引?索引表示先前答案的数量/给定答案的位置。
更具体地说,当我查询以下内容时:
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 排序)?
解决方案
我有!
def getIndexOfAnswer(user, question):
answer = user.answer_set.filter(question=question).get()
return user.answer_set.filter(pk__lte=answer.pk).count() - 1
推荐阅读
- amazon-web-services - 使用 CORS 在 AWS S3 存储桶上获取
- python - Python Datacompy 库:如何将报告字符串保存到 csv 文件中?
- django - Celery 4 + Django + Redis,文档中缺少 django 设置部分?
- postgresql - 从两个表在 postgresql 中进行计算
- object - 如何使用 pytest 夹具实例化被测对象?
- reactjs - React 中的方法仅适用于第一个 Mounting 组件
- r - 在 R Shiny 中使用模型,尝试改变一个参数并检查输出如何变化
- android - Android导航弹出动画不起作用
- c - 为什么我们在 xchg() 之前需要 pushcli()?
- javascript - edge.foreach 不是 vis DataView 的函数