gpt4 book ai didi

python - 如何过滤包含对象的 ManyToMany

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

我有这样的对象:

class Pencil(models.Model):
color = models.CharField(max_length=20, unique=True)

class Box(models.Model):
pencils = models.ManyToManyField(Pencil)
name = models.CharField(max_length=50)

假设我有一支蓝色铅笔:

pencil = Pencil.objects.create(color='blue')

然后我创建了一些 Box 类的实例。然后我按名称进行一些过滤

boxes = Box.objects.filter(name__startswith='Big')

如何进一步过滤以仅获取名称以“大”开头且带有蓝色铅笔的框?我不能执行类似 pencil.box_set.all() 的操作,因为我已经对框进行了一些过滤。

最佳答案

在过滤中,您可以像处理一对多关系一样处理多对多关系:

boxes = Box.objects.filter(name__startswith='Big', pencils__title='blue')

关于python - 如何过滤包含对象的 ManyToMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27649530/

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