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