我有一个查询列表,它返回问题的可能解决方案。该列表返回我期待的结果。我正在尝试添加与查询列表中的每个项目相关的复选框表单。它不是很花哨,我只需要检查框并更新模型。我有两个模式:如何设置基于模型实例的查询集结果
149 class TaskSolution(models.Model):
150 solution = models.TextField()
151 submitter = models.ForeignKey(User, null=True, blank=True)
152 relatedtask = models.ForeignKey(Task, null=True, blank=True)
153 solutionnumber = models.IntegerField(editable=False)
154 date_created = models.DateTimeField(editable=False)
155 date_updated = models.DateTimeField(editable=False)
156 confimed_solution = models.BooleanField()
157 objects = SolutionVoteManager()
160 def save(self, *args, **kwargs):
161 if not self.id:
162 self.date_created = datetime.now()
163 self.date_updated = datetime.now()
164 super(TaskSolution, self).save(*args, **kwargs)
166 def __unicode__(self):
167 return self.id
169 def __unicode__(self):
170 return "%s" % self.object_pk
172 def __unicode__(self):
173 return self.solution
184 class MarkedSolved(models.Model):
185 is_solution = models.BooleanField(verbose_name='')
186 related_idea = models.ForeignKey(Idea, editable=False)
187 related_task = models.ForeignKey(Task, editable=False)
188 related_solution = models.IntegerField(editable=False)
189 date_updated = models.DateTimeField(editable=False)
191 def save(self, *args, **kwargs):
192 self.date_updated = datetime.now()
193 super(MarkedSolved, self).save(*args, **kwargs)
195 def __unicode__(self):
196 return self.id
198 def __unicode__(self):
199 return "%s" % self.object_pk
201 def __unicode__(self):
202 return "%s" % self.is_solution
204 class MarkedSolved(ModelForm):
205 class Meta:
206 model = MarkedSolved
现在在我的查看我有以下查询集:
solution_list = TaskSolution.objects.filter(relatedtask__id=task_id)
这很好,因为它预期将返回的解决方案。我现在遇到的问题是我想将MarkSolved表单初始值与solution_list值关联起来。
393 if request.method == 'POST':
394 mark_solved_form = PostMarkedSolved(data=request.POST, instance=solution_task)
基本上我正在寻找这样的查询:
select * from markedsolved a, tasksolution b where a.related_solution=b.solutionnumber and a.related_solution=1 and b.solutionnumber=1 and a.related_task_id = 5 and b.relatedtask_id=5;
,所有的值从两款车型在查询集相匹配。该查询返回我想要的确切结果,但我现在处于亏损状态,无法根据solution_list结果填充初始值。
这两种模式有关系吗? – Asif
是的。基本上,我想有一个解决方案的列表,并与列表中的每个项目,包含一个复选框,当检查更新类MarkedSolved(models.Model)时,一个独特的形式。 所以在模板中,我可以有{在solved_list%%用于项目}像 与复选框形式 {%ENDFOR%} 沿着目前的项目,我不知道如何给的ModelForm复选框链接solve_list上的每个项目都正确。 – user1462141