我想使用CreateView来创建用户,并在链接到用户模型的概要文件中设置一些附加值。 这些价值观不包括城市。这个城市价值来自另一个模式(城市),它被引进到地区模式,被引进到国家模式。。等等。你知道吗
因此,要选择正确的城市,用户必须首先选择正确的国家和地区。 我的解决方案是:在视图的开头只有国家组合框选择器:当用户选择国家时,我通过javascript提交表单并添加地区组合框选择器。然后,当用户设置区域组合框时,我将添加城市。。。你知道吗
我决定提交表单,因为我不想在每次用户使用GET和url参数更改某个组合框时丢失页面中的其他值。但是,在用户单击Submit按钮之前,我不想验证或显示任何错误。你知道吗
所以我有这个
$('#id_of_the_countries_combobox').change(
function () {
$('#id_nocommit').prop('checked', true);
$('#mainform').submit();
});
我想在我的视图中检查是否不存在命令,只需跳过验证: 你知道吗
class CandidatiCreate(CreateView):
def post(self, request, *args, **kwargs):
post = request.POST.copy()
if 'nocommit' in post:
self.object = None
form_class = self.get_form_class()
form = self.get_form(form_class)
♯at this point form is already validated and full of errors
return self.render_to_response(
self.get_context_data(form=form))
self.object = None
form_class = self.get_form_class()
form = self.get_form(form_class)
if form.is_valid():
return self.form_valid(form)
else:
return self.form_invalid(form)
问题:窗体总是被验证的,并且视图显示错误。你知道吗
我怎样才能避免呢?或者:这样做对吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐