我在提交 ModelForm 时遇到问题。
基本上,我的一个属性被排除在外,当我们创建表单时,我正在扩充 request.POST 对象以包含它(因此 ORM 可以毫无问题地保存它)。根据我的理解(再次,当谈到 django 时,我是一个 n00b),这就是它的工作原理。
我在调用时收到 IntegrityError form.save()
。
我正在使用的代码在这里:http ://dpaste.com/783425/ 。
编辑:为后代粘贴代码。
# forms.py
class CreateNewItemForm(ModelForm):
class Meta:
model = X.models.Y
exclude = ('person',)
# views.py
def myview(request, person_id):
if request.method == "POST":
data = request.POST.copy()
data['person'] = Person.objects.get(id=person_id)
# NOTE: I've also tried: data['person'] = person_id
form = CreateNewItemForm(data)
if form.is_valid():
form.save() # throws the IntegrityError