在数据库查询操作过程中,子查询结果不唯一,导致外面的查询无法进行。
我的错误语句:
rid = models.User.objects.filter(username=username).values('user2role__role_id_id__id')
grp_bukrs = models.Role2Menufun.objects.filter(role_id=rid).values('menufun_id__bukrs').first()['menufun_id__bukrs']
实际上在Role2Menufun表中的role_id是外键关联进来的,rid本身多个值,这样导致一个单元格等于多个值,应该写为:
grp_bukrs = models.Role2Menufun.objects.filter(role_id__in=rid).values('menufun_id__bukrs').first()['menufun_id__bukrs']