gpt4 book ai didi

python - 属性错误 : 'QuerySet' object has no attribute

转载 作者:行者123 更新时间:2023-11-28 16:44:11 26 4
gpt4 key购买 nike

请有人解释我在下面的 shell 输出中看到的内容:

import test/models.py

biz_area = BusinessArea.objects.filter(business_area_manager=user)

dprint(biz_area)
[{'_state': <django.db.models.base.ModelState object at 0x3726890>,
'business_area_id': Decimal('42'),
'business_area_manager': Decimal('999'),
'business_area_name': u'group 1',
'inactive': u'N'}]

biz_area.business_area_id

Traceback (most recent call last):
File "<<console>console>", line 1, in <<module>module>
AttributeError: 'QuerySet' object has no attribute 'business_area_id'

因此,python 表示 biz_area 查询集没有“business_area_id”属性,而漂亮的对象打印列表显示它确实具有这样的属性。有人可以把我放在正确的轨道上吗,因为这让我有些困惑......

最佳答案

biz_areaQuerySet 对象。这是一个集合,而不是单个对象。

[{'_state': <django.db.models.base.ModelState object at 0x3726890>,
'business_area_id': Decimal('42'),
'business_area_manager': Decimal('999'),
'business_area_name': u'group 1',
'inactive': u'N'}]

方括号 ([]) 表示一个集合。您可以将其视为 Python 列表

有几种处理方法:

过滤器总是返回对象的集合

biz_areas = BusinessArea.objects.filter(business_area_manager=user)
for biz_area in biz_areas:
biz_area.business_area_id

如果 BusinessArea 只会有一个关联的用户

biz_area = BusinessArea.objects.get(business_area_manager=user)
biz_are.business_area_id

阅读有关 get 的文档如果有更多对象或 0 个对象匹配您的查询,它将引发异常

关于python - 属性错误 : 'QuerySet' object has no attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15527438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com