gpt4 book ai didi

python - Many2Many 关系中的 Django 模型 : filter by a group of member

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:22 25 4
gpt4 key购买 nike

我有这些模型:

class Skill(models.Model):
name = models.CharField(max_length=20)


class Engineer(models.Model):
name = models.CharField(max_length=20)
skill = models.ManyToManyField(Skill)
city = models.ForeignKey(City)


class City(models.Model):
city = models.CharField(max_length=20)

我有两个问题,请您抽出时间帮助我。谢谢:)

1) 我想按一组技能过滤工程师。假设我需要过滤具有这些技能 ['HTML'、'python'、'CSS'] 的工程师。我怎样才能做到这一点?

2) 我想按特定领域的一组技能来过滤工程师。假设我需要过滤具有这些技能 ['HTML'、'python'、'CSS'] 的工程师并且该工程师必须住在阿纳海姆。我怎样才能做到这一点?

最佳答案

您应该阅读 queries that span relationships 文档的一部分。基本上查询是用与ForeignKey查找相同的语法完成的。 (如果您不使用m2m through)

此外,工程师城市之间没有任何关系,如果您希望能够回答第二个问题等查询,您需要添加一个ForeignKey,从工程师城市

1.

skills = Skill.objects.filter(name__in=['HTML', 'Python', 'Css'])
engineers = Engineer.objects.filter(skill__in=skills)

2.

city = City.objects.get(name='Anaheim')
engineers = Engineer.objects.filter(skill__in=skills, city=city) # Considering you put a ForeignKey from Engineer to City

关于python - Many2Many 关系中的 Django 模型 : filter by a group of member,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39536262/

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