gpt4 book ai didi

django - 如何验证对象是否存在于manytomany中

转载 作者:行者123 更新时间:2023-12-03 14:30:42 25 4
gpt4 key购买 nike

楷模

class Beer(models.Model):
pass

class Salas(models.Model):
name = models.CharField(max_length=20)
beers = models.ManyToManyField('Beer', blank=True)

看法
beer = Beer.objects.get(user=user)
id_sala = request.GET['id_sala']
sala = get_object_or_404(Salas, id=id_sala)


if beer.salas_set.filter(nombre=sala):
# if beer.objects.filter(sitios__id=beer).exists():
sala.beers.remove(beer)

else:
sala.beers.add(beer)

我想看看啤酒和沙拉有没有关系,这个怎么做??

最佳答案

使用您的解决方案可能会出现问题,因为 salas 的名称不是唯一的。因此,如果您按 sala 的名称进行筛选,希望找到一个且仅一个 sala,则可能不会发生这种情况。

我建议你这样做:

if sala in beer.salas_set.all():
#do stuff:
else:
# do other stuff

那样, beer.salas_set.all()将返回一个 QuerySet,您可以在其中使用 'in' 关键字检查特定对象是否存在。

关于django - 如何验证对象是否存在于manytomany中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23433869/

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