gpt4 book ai didi

python - 数据库错误 : Lookup type 'in' can't be negated

转载 作者:太空宇宙 更新时间:2023-11-04 01:32:27 24 4
gpt4 key购买 nike

我正在使用 Django 框架,appengine 数据库。

我的模型代码是:

class Group(models.Model):
name = models.CharField(max_length=200)
ispublic = models.BooleanField()
logo = models.CharField(max_length=200)
description = models.CharField(max_length=200)
groupwebsite = models.CharField(max_length=200)
owner = models.ForeignKey('profile')


class Group_members(models.Model):
profile = models.CharField(max_length=200)
group = models.ForeignKey('group')

我正在查询 Group_members 以删除组。我的查询如下:

groups = Group_members.objects.filter(Q(profile=profile.id),~Q(group__in=group_id)

信息:

  1. group_id = ['128','52']
  2. group 是组模型的外键

我的问题是当我运行这个查询时,它抛出数据库错误:Lookup type 'in' can't be negated

我还使用 __in 执行了查询,它工作正常但不适用于外键。

提前致谢

最佳答案

我认为您试图在单个过滤器中过滤配置文件 ID 并删除 group_id 中的组

groups = Group_members.objects.filter(Q(profile=profile.id),~Q(group__in=group_id)

试试这个:

1) 首先过滤配置文件表单 group_member :

groups = Group_members.objects.filter(profile=profile.id)

2) 通过以下方式从查询集中删除组:

groupId = [x.group.id for x in groups if x.group.id not in group_id]

希望这会给你带来完美的结果

关于python - 数据库错误 : Lookup type 'in' can't be negated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12917270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com