我是Django的新手,这是有关查询/显示联接表的问题。
我有一个包含“经理”和“技能”的模型设置...以及一个“经理技能”的联接表。
ManagerSkills具有到“ manager”表和“ skill”表的外键链接。这是一个多对多表。 (经理有很多技能,技能属于不同的经理)
我希望检索经理列表,将其显示在网格中,并有一列“技能”,其中将显示以逗号分隔的与经理相关的技能列表。
class Manager(models.Model):
title = models.CharField(max_length=250)
class Skill(models.Model) :
skill = models.CharField(max_length=15)
class ManagerSkills(models.Model) :
manager = models.ForeignKey(Manager,on_delete=models.CASCADE)
skill = models.ForeignKey(Skill,on_delete=models.CASCADE)
我将如何查询该数据集以检索不同的经理列表,同时还要参考可以在表/网格中输出的相关技能?
答案 0 :(得分:0)
由于这是多对多关系,因此应这样声明:
class Manager(models.Model):
skills = models. ManyToManyField("Skill", through="ManagerSkills")
...
现在,您可以在模板中循环访问manager.skills.all
。
(注意,如果ManagerSkills上没有其他任何字段,则可以完全删除该定义以及该字段中的through
属性;这使管理员的管理技能更加容易。)