Django和过滤加密字段

2024-04-27 04:45:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用django加密字段加密数据库中的数据。但我希望能够根据用户的条件过滤它们,例如搜索一个具有特定名称(搜索词)的客户机。但正如我在这里和其他地方读到的,如果使用加密字段,就不能进行过滤。所以我想知道是否可以在每个db记录上使用标准for循环iter,看看搜索词是否与模型的字段匹配?在

例如

clients = Client.objects.all()
post_data = form.cleaned_data

search_result = []
for client in clients:
    if (post_data['charfield1'].lower() in client.charfield1.lower() and 
        post_data['charfield2'].lower() in client.charfiedl2.lower() and...etc

        search_result.append(client)

我知道这根本没有效率。但是,如果你真的想添加过滤功能,还有其他方法吗?这个方法不会处理None值(如果您允许的话),因为您不能post_data['field'] in customer.fieldif客户字段没有。所以这是一个需要妥协的情况,对吗?你会怎么处理?在


Tags: and数据django方法inclient数据库for