首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >django SyntaxError:关键字不能是表达式

django SyntaxError:关键字不能是表达式
EN

Stack Overflow用户
提问于 2013-11-05 07:45:21
回答 4查看 7.2K关注 0票数 6

下面的代码行中出现了语法错误。我已经导入了数学,但是我的更新函数仍然不能工作。告诉我关键字不能是一个表达式,并引用最后3行。知道我做错什么了吗?

代码语言:javascript
运行
复制
StoreLiquor.objects.filter(storeID=ID_Store, liquorID.BottleSize='750 ML', custom=False).update(StorePrice = liquorID.ShelfPrice)

StoreLiquor.objects.filter(storeID=ID_Store, liquorID.BottleSize='750 ML', custom=False).update(StorePrice = (float(liquorID.OffPremisePrice)) + (float(S750Increase)))

StoreLiquor.objects.filter(storeID=ID_Store, liquorID.BottleSize='750 ML', custom=False).update(StorePrice = (float(liquorID.OffPremisePrice) * (float(S750Increase)/100)) + float(liquorID.OffPremisePrice))
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-05 07:56:02

不能在参数名称中使用点,所以这个部分liquorID.BottleSize='750 ML'导致SyntaxError

若要在filter中使用相关模型,请使用跨越关系的查找

https://docs.djangoproject.com/en/dev/topics/db/queries/#lookups-that-span-relationships

Django提供了一种强大而直观的方法来“跟踪”查找中的关系,在后台为您自动处理SQL联接。要跨越关系,只需跨模型使用相关字段的字段名,以双下划线分隔,直到到达所需字段为止。

所以你的声明应该是这样的:

代码语言:javascript
运行
复制
StoreLiquor.objects.filter(storeID=ID_Store, 
                           liquorID__BottleSize='750 ML',
                           custom=False).update(StorePrice=liquorID__ShelfPrice)
票数 8
EN

Stack Overflow用户

发布于 2013-11-05 07:48:34

我觉得应该是这样的

代码语言:javascript
运行
复制
StoreLiquor.objects.filter(storeID=ID_Store, liquorID__BottleSize='750 ML', custom=False).update(StorePrice = liquorID__ShelfPrice)
票数 2
EN

Stack Overflow用户

发布于 2013-11-05 07:49:01

您不能使用liquorID.BottleSize,它是无效的。只能使用有效的变量名。:

代码语言:javascript
运行
复制
>>> def func():pass
>>> func(a.x=1)
  File "<ipython-input-22-c75a0f520ac0>", line 1
SyntaxError: keyword can't be an expression

使用liquorID__BottleSize代替。

相关:Why django has to use double underscore when making filter queries?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19783998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档