【问题标题】: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

【问题讨论】:

  • 你试过env[0]['cftos']吗?

标签: 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']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 2019-07-01
    • 2013-04-08
    • 1970-01-01
    • 2018-05-29
    相关资源
    最近更新 更多