我在提交ModelForm时遇到问题。
基本上,我的一个属性被排除在外,当我们创建表单时,我增加了request.POST对象以包含它(这样ORM就可以保存它而不会出现任何问题)。根据我的理解(再说一次,当涉及到django时,我是一个n00b ),这就是它的工作方式。
当调用form.save()时,我收到一个IntegrityError。
我正在使用的代码是: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发布于 2012-08-09 05:01:57
我认为这个代码是错误的..。更改您的代码...
def myview(request, person_id):
data = None
if request.method == "POST":
data = request.POST
form = CreateNewItemForm(data)
if form.is_valid():
newitem = form.save(commit=False)
newitem.person = Person.objects.get(id=person_id)
newitem.save()https://stackoverflow.com/questions/11872976
复制相似问题