Python django queryset返回单个值

Python django queryset返回单个值,python,django,Python,Django,我有以下资料: obj.owner_id = Owner.objects.filter(owner_name=owner_obj).values_list('owner_id')[0] 问题是它返回的值是一个元组。具体而言— (786,) 我只想返回整数值或786 我做错了什么?对于子孙后代来说,这也是可行的,而且(在我看来)是最干净的选择: Owner.objects.values_list('owner_id', flat=True).get(owner_name=owner_obj)

我有以下资料:

obj.owner_id = Owner.objects.filter(owner_name=owner_obj).values_list('owner_id')[0]
问题是它返回的值是一个元组。具体而言—

(786,)
我只想返回整数值或
786


我做错了什么?

对于子孙后代来说,这也是可行的,而且(在我看来)是最干净的选择:

Owner.objects.values_list('owner_id', flat=True).get(owner_name=owner_obj)

假设
owner\u name
是唯一的,则这两个选项中的任何一个都会起作用:

  • owner\u id=owner.objects.only('owner\u id').get(owner\u name=owner\u name)。owner\u id
  • owner\u id=owner.objects.values('owner\u id').get(owner\u name=owner\u name)['owner\u id']
  • owner\u id=owner.objects.values\u list('owner\u id',flat=True).get(owner\u name=owner\u name)
文件:


您是否尝试过使用
Owner.objects.filter(Owner\u name='Operations').values\u list('Owner\u id')[0][0]
?谢谢您的帮助!现在获取另一个错误我将对此提出另一个问题。请尝试此
Owner.objects.filter(Owner\u name='Operations').values\u list('Owner\u id',flat=True)[0]