Django的过滤器清除外键

问题描述 投票:0回答:1

在views.py中,如果我定义像

clients_list = Clients.objects.all()
这样的变量并在像
{{ clients_list }}
这样的html中读取它们,那么我会得到所有正确的数据。

但是,如果我像

clients_list = Clients.objects.filter(cli_account='123').values()
那样进行过滤,那么所有外键都会转换为整数,并且如果在 html 中请求(仅在所有查询集中),则不会显示。

我需要过滤客户端列表,但保留所有未过滤的外键,而不是整数 - 字符串。

ps.:如果我尝试在第一个版本中获取 {{ obj.cli_status }},我会“准备好”,但在第二个版本中我会得到空白(查询集中的整数)

python django object filter
1个回答
0
投票

在views.py中传递客户端时,我使用了这一行:

clients_list = Clients.objects.filter(cli_account='123').values()

但为了顺利工作,最终应该是这样的:

clients_list = Clients.objects.filter(cli_account='123').select_related('cli_status')

我不知道为什么,但所有外键(cli_status 和其他)现在显示为文本并且现在工作正常

© www.soinside.com 2019 - 2024. All rights reserved.