Django:在列表中查找不在数据库中的项目

时间:2018-03-08 14:17:22

标签: python django

我有一个列表,我想查找此列表中的任何项目是否都不在数据库中。

使用object.exclude() Django函数我只发现数据库中哪些元素不在我的列表中:

Gene.objects.exclude(gene_name__in=self.gene_list)

我目前正在使用此代码获取列表中不在数据库中的项目:

obj = Gene.objects.filter(gene_name__in=self.gene_list)
database_genes = [o.gene_name for o in obj]
genes_not_in_db =  [g for g in self.gene_list if g not in database_genes]

然而这是相当混乱的 - 有没有更好的方法/内置Django功能来做到这一点? 感谢

1 个答案:

答案 0 :(得分:3)

你的处理方式只是需要做的事情而不是使用昂贵的数组你应该使用sets / dict

AttentiveLSTMCell