python - Django 对象按参数名过滤

标签 python django database

<分区>

我的方法接受一个字符串参数,它基本上是数据库列的名称。

我可以做这样的事情吗:

  original_message = "Let it go"   
  language = "english"
  ads = Ad.objects.filter(language=original_message)

其中语言不是名称,而是对字符串的引用?这会为我节省很多 if else 行

最佳答案

Filter 接受关键字参数列表,因此您可以利用它来发挥自己的优势 - 结合解包

original_message = "Let it go"   
language = "english"
ads = Ad.objects.filter(**{language:original_message})

关于python - Django 对象按参数名过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40745853/

相关文章:

asp.net - 为 asp.net 应用程序连接 sql server(Windows 身份验证与 SQL Server 身份验证)的最佳方式

mysql - SQL检索在另一个表中没有关系的字段

regex - Django url 正则表达式命中 url : *./something 的结尾

python - 如何在 Django 中缓存查询结果?

python - 如何获取对象类定义的模块名称而不是对象实例化的模块名称?

python - 使用 subplot2grid 时如何向 matplotlib 中的轴添加投影?

python - 我可以对文件名使用 MD5 或 SHA1 哈希吗?

mysql - 与时间属性有关的设计数据库

python - Python:从stdin读取和写入Powershell中的二进制文件

python - 使用与两列的比较来选择 pandas DataFrame 中的行