Django查询~Raw查询必须包含主键

时间:2015-08-10 04:05:27

标签: python django django-models

我尝试在django中进行原始查询但是错误

  

原始查询必须包含主键

这是查询:

posts= User.objects.raw('select auth_group.name, auth_user.username 
                        from auth_user, auth_group, auth_user_groups 
                        where auth_user.id = auth_user_groups.user_id AND auth_group.id = auth_user_groups.group_id')
你可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

以下是一个shell示例。这可能会暗示一下。
UserGroup处于many-to-many关系。

In [24]: from django.contrib.auth.models import User, Group

In [25]: user_id = 9038

In [26]: u = User.objects.get(id=user_id)

In [27]: u.username
Out[27]: u'parag@gmail.com'

In [28]: g = Group.objects.filter(user=u)

In [29]: g.all()
Out[29]: [<Group: Customer>, <Group: Admin>, <Group: Author>, <Group: Tester>, <Group: Report>]