0

为什么我的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
4

2 回答 2

2

对于初学者,您传递的LandFormAnimal. 其次,您仅在表格有效时才保存。因此,您的表格可能无效。

于 2013-05-29T13:24:28.723 回答
0

马尔辛是对的。我认为您应该正确检查您提交的表格是否有效。确保在表单中包含 {{form.field.errors}}。这将向您显示错误。更正它们,然后重新提交您的表格。

您还可以使用以下代码在html页面中打印出表单中的所有错误并检查它们。

{% for field, errors in form.errors.items %} 
    {% for error in errors %}
于 2013-05-29T13:36:46.050 回答