相关疑难解决方法(0)

使用get_queryset()方法或设置queryset变量?

这两段代码在第一时间是相同的:

class IndexView(generic.ListView):
    template_name = 'polls/index.html'
    context_object_name = 'latest_poll_list'
    queryset = Poll.active.order_by('-pub_date')[:5]
Run Code Online (Sandbox Code Playgroud)

class IndexView(generic.ListView):
    template_name = 'polls/index.html'
    context_object_name = 'latest_poll_list'

    def get_queryset(self):
        return Poll.active.order_by('-pub_date')[:5]
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别吗?如果它是:

什么方法更好?或者当设置queryset变量优于覆盖get_queryset方法时?反之亦然.

django django-views django-generic-views

49
推荐指数
2
解决办法
4万
查看次数

在基于类的通用视图中将初始值设置为modelform

我正在使用基于类的通用视图,任何人都可以建议我如何设置初始值以更新表单?

我尝试使用get_initial()方法,但没有取得任何成功.以下是我试过的代码

  class IncidentUpdateView(UpdateView):
      form_class = IncidentForm
      form_class.initial = {"badge_number": '88888'}
      model = Incident
      template_name = 'hse/incident/incident_update.html'

     def get_initial(self, form_class):
        initials = {
         "badge_number": '88888'
         }
        form = form_class(initial=initials)
       return form

     def get_success_url(self):
        return reverse_lazy('hse-incident', args=[self.object.id])
Run Code Online (Sandbox Code Playgroud)

python django django-forms django-views django-class-based-views

25
推荐指数
1
解决办法
1万
查看次数