1
使用modelformset_factory
构建的ModelFormSet
并使用带有可选ForeignKey的模型,如何使空(空)关联在该窗体上进行验证?使用可选的ForeignKey字段对Django Formset进行验证
这里是一个示例代码:
### model
class Prueba(models.Model):
cliente = models.ForeignKey(Cliente, null = True)
valor = models.CharField(max_length = 20)
### view
def test(request):
PruebaFormSet = modelformset_factory(model = Prueba, extra = 1)
if request.method == 'GET':
formset = PruebaFormSet()
return render_to_response('tpls/test.html', {'formset' : formset},
context_instance = RequestContext(request))
else:
formset = PruebaFormSet(request.POST)
# dumb tests, just to know if validating
if formset.is_valid():
return HttpResponse('0')
else:
return HttpResponse('1')
在我的模板,我只是调用{{form.cliente}}方法,这使得该组合场,不过,我希望能够选择一个空的(标有“------”)值,因为FK是可选的......但是当表单被提交时它不会被验证。
这是正常的行为吗?我如何让这个字段跳过需要的验证?
工程就像一个魅力。谢谢! – 2010-05-11 06:11:59
不用担心队友。 – 2010-05-11 08:27:33