如果模型中不存在项目,我想显示 CreateView
中存在的表单。否则我需要显示表单存在于 UpdateView
中。这样它就会加载已经保存的值。稍后我应该通过调用 update_or_create
将数据保存到数据库中方法。
这可能吗?
最佳答案
不要弄乱双重用途的 View ,这对于找出运行正确方法(并且不推荐)的方法并不简单,而是添加将重定向到 CreateView 或 EditView 的第三个 View 。
它应该看起来像这样:
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")
关于python - 有没有办法结合CreateView和UpdateView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35577255/