我试图获得用户组(manytomany)但抛出我int()参数必须是字符串或数字,而不是'ManyRelatedManager'

时间:2013-05-25 00:40:00

标签: django django-models django-forms django-templates django-views

我默认使用该模型:UserGroup,在我的模型中使用

a = request.user.groups.all
我的模板中出现

[<Group: jefes>] 

但我只需要“jefes”而不是[<Group: jefes>]

1 个答案:

答案 0 :(得分:1)

那是因为all方法返回ManyRelatedManager,它基本上是python中的列表。如果您想获得该组而不是整个列表,您可以这样做:

a = request.user.groups.all()[0]
print a
>>> <Group: jefes>

通过这种方式观察列表中的第一个元素。如果列表中不包含任何元素,则会产生Index out of bounds异常。

希望这有帮助!