我正在尝试获取以下查询:
ignored = Activity.select().join(StuActIgnore).join(Student).where(Student.id == current_user.id)
Activity.select().where(~(Activity.name**"%BBP") & Activity not in ignored)
这不会给我任何错误,但会出现以下任何错误:
Activity.get(~(Activity.name**"%BBP") & Activity not in ignored)
Activity.select().where(~(Activity.name**"%BBP") & Activity not in ignored).join(Course)
给我以下错误:
AttributeError: 'bool' object has no attribute 'clone'
如果我试试这个:
Activity.select().join(Course).join(StuCouRel).join(Student).where(~(Activity.name**"%BBP") & Activity not in ignored & Student.id == current_user.id)
它会告诉我:
TypeError: argument of type 'Expression' is not iterable
我觉得这很令人困惑,因为:
already_selected = Course.select().join(StuCouRel).join(Student).where(Student.id == current_user.id)
to_choose = Course.select().where(Course not in already_selected)
工作得很好,虽然它看起来非常类似于我正在尝试做的事情。
我完全不知道这可能意味着什么,我在文档中找不到任何东西。'bool' 对象可能代表布尔值,但我看不到我的查询结果是布尔值。我也不知道“克隆”是什么意思,也不知道如何解决这个错误。