如何解决搜索计算字段django?
所以我在代码中有一个秘密,并使用sha256在日志中对其进行编码。所以我需要在admin中搜索它,我尝试了批注,但是它不起作用,所以我想添加一个计算字段,所以我不保留冗余数据,但是在django中无法搜索到装饰属性的函数。还有其他方法吗?
这是注释方式:
def get_search_results(self,request,queryset,search_term):
queryset,use_distinct = super().get_search_results(request,search_term)
queryset |= self.model.objects.annotate(sha256_search=sha256_hash("key")).filter(sha256_search__contains=search_term)
return queryset,use_distinct
我得到了错误:
TypeError: QuerySet.annotate() received non-expression(s): 2c70e12b7a0646f92279f427c7b38e7334d8e5389cff167a1dc30e73f826b683.
这是我无法添加到的属性字段:
@property
def sha256_key(self):
return sha256_hash(self.key)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。