【发布时间】:2016-06-05 06:33:28
【问题描述】:
如果模型中不存在任何项目,我想显示CreateView 中存在的表单。否则我需要显示表单存在于UpdateView 中。这样它就会加载已经保存的值。稍后我应该通过调用update_or_create 方法将数据保存到数据库。
这可能吗?
【问题讨论】:
标签: python django django-forms
如果模型中不存在任何项目,我想显示CreateView 中存在的表单。否则我需要显示表单存在于UpdateView 中。这样它就会加载已经保存的值。稍后我应该通过调用update_or_create 方法将数据保存到数据库。
这可能吗?
【问题讨论】:
标签: python django django-forms
添加第三个视图将重定向到 CreateView 或 EditView。
它应该看起来像这样:
from django.core.urlresolvers import reverse
class AddItemView(generic.CreateView):
...
class EditItemView(generic.EditView):
...
class UpdateItemRedirectView(generic.RedirectView):
def get_redirect_url(self):
if Item.objects.get( ...criteria... ).exists():
return reverse("url_name_of_edit_view")
else:
return reverse("url_name_of_add_view")
【讨论】:
@AviahLaor 提到的另一个“双重目的”视图解决方案是将CreateView 和UpdateView 组合在一个视图中。在我看来,它是 DRYer。解决方案给here很好。
【讨论】: