给定以下代码:
randomItemQS = Item.objects.filter().exclude(id__in=[o.id for o in collection]).order_by('?')
randomItem = randomItemQS[:1]
calculation = randomItem.method() / constant
如何确保它randomItem
是一个Item
而不是一个 QuerySet?
如果我从 运行代码manage.py shell
,那么我会得到预期的结果。但是,从视图运行此代码会导致 AttributeError 'QuerySet' object has no attribute 'method'
,并指示错误发生在最后一行。
我错过了什么?
编辑:对不起,我应该更具体一点——我在 shell 中工作得很好,但它在视图中不起作用。会有什么不同?