Django ORM:对象不可迭代(错误)

Django ORM: Object is not iterable (Error)

谁能解释为什么这是可迭代的:

User.objects.all()

这是有效的并给了我一个值(当前用户的别名。会话正在存储用户 ID):

User.objects.get(id = request.session['currentuser']).alias)

但这给我的错误是 'not iterable?':

Poke.objects.get(user = User.objects.get(id = request.session['currentuser']).alias)

(此代码应该获取用户列与当前用户别名匹配的 Poke 条目列表。)

这是 Poke 模型。它不使用外键,因为我无法正确设置其中两个。

class Poke(models.Model):
    id = models.IntegerField(primary_key=True)
    user = models.CharField(max_length=100)
    poker = models.CharField(max_length=100)
    pokes = models.IntegerField()
    class Meta:
        app_label = "poke_app"

print(request.session['currentuser']) 时看到的是整数值吗? 如果你会看到一个字符串,那么你应该给出一个整数值 例如:userobj = User.objects.get(id=uid)

哦对不起

User.objects.get(id = request.session['currentuser']).alias)

您打开 ( 并在 ['currentuser']) 之后关闭它,但为什么您在 .alias 之后再次关闭 )

Get 将检索单个对象,因此结果将不可迭代。参见 documentation