这是在django1.5上。在
我有一个看似简单的问题,但实际上却很复杂。所以我在一个求职网站上工作,我有两个模型:
这两个模型是通过一个贯穿模型applicationskillscore来关联的。所以看起来像:
class Applicant(models.Model):
name = models.CharField(max_length=255)
skills = models.ManyToManyField(Skills, through='ApplicantSkillScore')
class Skill(models.Model):
name = models.CharField(max_length=255)
class ApplicantSkillScore(models.Model):
applicant = models.ForeignKey(Applicant)
skill = models.ForeignKey(Skill)
score = models.FloatField(_("Score"))
现在我要做的是呈现一个基于表格的表格来输入申请者的技能分数,如下所示:
^{pr2}$其理念是:
在Django中有没有一种优雅的方式来呈现这种形式?在
我认为应该使用内联表单集。在
然后,您可以将所有申请者及其相关技能分数呈现为一个表单集。在
基本上,您只需要创建一个父模型对象及其关联的子对象(applicationskillscore)。这就是inline formsets是解决方案的地方,因为它们允许您有一个视图来创建/修改您的申请者模型以及用外键链接到它的其他模型。在
这只是在模板中呈现表单的问题。使用内联表单集,它将像普通表单一样显示数据(如果有的话),或者只是一个空表单。你想怎么表现就看你了。在
我用这个例子开始:inline formset with class based view example
相关问题 更多 >
编程相关推荐