【问题标题】:Django filter many-to-many from an idDjango从一个id过滤多对多
【发布时间】:2014-09-12 13:42:50
【问题描述】:

我有一个问题,我正在使用 python/django 进行编码。 我有这种models.py:

class Skill(models.Model):
name = models.CharField()
    skill=models.ForeignKey(Skill)

class Job(models.Model):
    name = models.CharField()
    skill= models.ManyToManyField(Skill)

我的问题是:我想打印一份工作,所有附加的技能。 示例:我有开发人员作业,ID=4(在我的数据库中),我想打印所有 与开发人员职位相关的技能。

谢谢!!

【问题讨论】:

  • 为什么Skill上有一个ForeignKey指向自己?
  • 何对不起,这是一个错误,我编辑了它。

标签: python django django-models many-to-many


【解决方案1】:

如果您已经拥有 Job 项,则在名为 my_job 的变量中:

my_job.skill.all()

如果您只有 ID:

Skill.objects.filter(job__id=4)

【讨论】:

    【解决方案2】:

    我相信您还会发现获得所有工作的有用可能性,这些工作被引用为一些技能。就这么简单:

    ninja_skill = Skill.objects.get(name='ninja')
    jobs_with_ninja_skill = ninja_skill.job_set.all()
    

    【讨论】:

      猜你喜欢
      • 2016-06-19
      • 2020-05-27
      • 2019-02-09
      • 2011-01-14
      • 1970-01-01
      • 2018-06-07
      • 2012-09-26
      • 2015-07-18
      • 2020-06-18
      相关资源
      最近更新 更多