django - 如何在 objects.get() 函数中设置动态字段名称
问题描述
我想创建一个 mixin,它允许我更改get
函数的字段,如下所示:
class MyMixin(self):
myfield = 'field1'
def myfunct(self):
i = MyModel.objects.get(self.myfield=myvar)
这样所需的代码就会运行MyModel.objects.get(field1=myvar)
。
但是,这种方法返回
SyntaxError: 表达式不能包含赋值
如何动态设置这样的字段名称?
解决方案
你可以这样做:
kwargs = {self.myfield: myvar}
MyModel.objects.get(**kwargs)
推荐阅读
- rust - 当 Rust 结构包含生命周期特征时会发生什么?
- javascript - ExpressJS/NodeJS 和面向对象编程
- postgresql - Pentaho CDE - 如何从 SQL 查询 JDBC 构建图表
- php - 自定义帖子类型在 URL 中加载带有类别的 404 页面
- azure - 在 Azure 应用程序网关中设置 SSL
- ios - 如何检测 UITextField 何时更改并触发警报?
- c# - C# SQL Server:如果文本框值> 0 或!null,如何插入表?, 使用 SqlCommand 参数作为值
- reactjs - React-Native 为一个项目设置动画并同时休息
- javascript - 查找具有相同类但排除单击的元素的所有元素?
- android - 工具栏不显示个人资料图标