我有一個查詢列表,它返回問題的可能解決方案。該列表返回我期待的結果。我正在嘗試添加與查詢列表中的每個項目相關的複選框表單。它不是很花哨,我只需要檢查框並更新模型。我有兩個模式:如何設置基於模型實例的查詢集結果
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