亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從視圖中更改模型中布爾字段的值?

如何從視圖中更改模型中布爾字段的值?

慕仙森 2023-03-16 11:15:57
我一直在使用的應用程序基于類的視圖有兩個模型,問題和答案。Question 模型用于FileField存儲該問題的實際解決方案,Answer 模型用于FileField存儲result用戶給出的解決方案(由用戶解決)。在 Answer 模型中命名的布爾字段iscorrect,默認情況下設置為 False。我想要檢查兩個文件是否相同(問題模型中的解決方案和答案模型中的結果)并且,切換 BooleanField iscorrect(如上所述,此布爾字段存在于 Answer 模型中)。我的問題歸結為什么?假設我已經弄清楚如何檢查兩個文件是否相同(使用comparator中的方法views.py然后為特定 id 請求問題模型的文件,然后檢查它們是否相同。公平地說,我還沒有實現,所以幫助也將不勝感激),我想知道如何根據views.py我的比較器方法返回的內容( True 或 False )切換 BooleanField 。注意:正如我之前所說,我正在使用基于類的視圖,所以請記住這一點,謝謝。
查看完整描述

1 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

class CoderListView(ListView):

    model = Question

    template_name = "coder/coder_list.html"

    context_object_name = 'question'



class CoderDetailView(DetailView):

    model = Question

    template_name = "coder/coder_detail.html"

    context_object_name = 'question'



class CoderCreateView(CreateView):

    model = Answer

    fields = ['result']

    context_object_name = 'answer'

    template_name = "coder/coder_form.html"


    def get_success_url(self):

        question = self.object.question

        return reverse('coder:detail', kwargs={'pk': question.id})


    def form_valid(self, form):

        form.instance.question = Question.objects.get(id=self.kwargs['qid'])

        return super().form_valid(form)

我想要更改的視圖(基于比較器方法的返回值切換布爾字段是 CodeCreateView,因為用戶將提交文件,然后我的方法將檢查它是否與解決方案相同)。


查看完整回答
反對 回復 2023-03-16
  • 1 回答
  • 0 關注
  • 87 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號