所以,我有这样的词典列表
dnc_info = [{'website': 'www.mdn.com', 'name':'shubham', 'company_name': 'mdn'}, {'website': 'google.com', 'name': 'ketan', 'company_name': 'google'}, {'website': 'http://microsoft.com', name:'somename', , 'company_name': 'microsoft'}, {'website': None, 'name':'somename2',, 'company_name': None}....] upto 10,000 dict
现在,我有一个DataBase(PostgreSQL)表,其中包含以下字段:
+--------------+-------------+--------------------+-------------+---------
| company_name | website | email | campaign_id | color_code | |
+--------------+-------------+--------------------+-------------+------------+--+
| google | google.com | shubham@google.com | 50 | #FFFFFF | |
| mdn | www.mdn.com | some@mdn.com | 50 | #FFFFFF | |
+--------------+-------------+--------------------+-------------+---------
最多20,000行
现在我想要的是能够根据以下条件从dnc_info
更新上表中的颜色代码字段
条件1:表格的公司名称应与dnc_info
公司名称匹配,忽略区分大小写
条件2: 表格中只有网站的域名应与dnc_info
网站域名匹配,忽略案例敏感度
条件3 :表格的电子邮件域名应与dnc_info
网站的域名匹配,同时忽略区分大小写。
条件4:表格的电子邮件应与dnc_info
电子邮件匹配,同时忽略区分大小写。
我可以为dnc_info
中的每个对象键创建单独的列表,如下所示:
website = ['mdn.com', 'google.com', 'microsoft.com']
email = ['shubham@mdn.com', 'someone@google.com']
请根据上述条件建议优化模型查询,以更新表格中的color_code
列。
答案 0 :(得分:0)
我没有使用ORM,而是使用了raw_query()
,它对我有用。