【问题标题】:django print value of query set查询集的django打印值
【发布时间】:2020-10-04 19:19:34
【问题描述】:
简单的问题(我认为)。
我有以下查询:
hostname = Host.objects.get(pk=(host_id))
env = Host.objects.filter(cfthostname=hostname).values('cftos')
print(env)
我从打印中得到的是:
<QuerySet [{'cftos': 'unix'}]>
制作方法:
unix
【问题讨论】:
标签:
python
django
sqlite
django-models
【解决方案1】:
尝试以下方法:
instance = Host.objects.filter(cfthostname=hostname).values('cftos')[0]
env = instance['cftos']
另外,如果您只获得一个值,您可以使用flat 如下所示在一行中执行此操作:
env = Host.objects.filter(cfthostname=hostname).values_list('cftos', flat=True)[0]
【解决方案2】:
Host.objects.filter(cfthostname=hostname).values('cftos')
如果您想使用数据,则返回查询:
Host.objects.filter(cfthostname__exact=hostname).values_list('cftos', flat=True)
或者如果你只有一个结果:
Host.objects.get(cfthostname__exact=hostname).cftos
Host.objects.filter(cfthostname=hostname).values().last()['cftos']