为什么我的Land
对象未保存?不要显示任何错误。
网址:
url(r'^add-object/(?P<id>\d+)/$','app.views.add_object'),
视图:
def add_object(request,id):
a = Animal.objects.get(id=id)
form = LandForm(request.POST, instance=a)
if request.method == 'POST':
if form.is_valid():
form.animal = a.id
form.save()
else:
form = LandForm(instance=a)
return render_to_response('add_object.html',{'form':form,},context_instance=RequestContext(request))
模型:
class Animal(models.Model):
name = models.CharField(max_length=255)
class Land(models.Model):
animal = models.ForeignKey(Animal)
形式:
class LandForm(ModelForm):
class Meta:
model = Land
答案 0 :(得分:2)
对于初学者,您正在传递LandForm
Animal
的实例。其次,只有在表格有效时才能保存。因此,您的表单可能无效。
答案 1 :(得分:0)
Marcin是对的。我认为您应该正确检查您提交的表格是否有效。确保您已在表单中包含{{form.field.errors}}。这将显示错误。纠正它们然后重新提交表单。
您还可以使用以下代码在html页面中打印出表单中的所有错误并进行检查。
{% for field, errors in form.errors.items %}
{% for error in errors %}