django错误笔记——1242 Subquery returns more than 1 row

在数据库查询操作过程中,子查询结果不唯一,导致外面的查询无法进行。

我的错误语句:

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']

原文地址:https://www.cnblogs.com/youleng/p/8432941.html