列出索引错误

时间:2012-10-21 22:35:42

标签: python django-orm

我有一个for循环,例如:

staff = Staff.objects.all().order_by('person__full_name')
for k in staff:
    categ = k.staff_job_categories.all()[1]
    if categ.name == unicode("xxx","utf-8"):
        t = categ.name

categ = k.staff_job_categories.all()[1] 我从索引错误中得到一个List。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

似乎print len(k.staff_job_categories.all())将输出01,因为此商品没有员工职位类别,或者只存在一个类别(具有索引0而不是{ {1}})。

因此,如果您确实感兴趣的是第二类,如果它存在,您的代码可以更改为

1

答案 1 :(得分:0)

k.staff_job_categories.all()可能是空的或只有一个项目。

你可以测试并尝试这些方面的东西。

all_categ = k.staff_job_categories.all()
if all_categ:
   categ = all_categ[0]