ModelFormの送信に問題があります。
基本的に、私の属性の1つが除外され、フォームを作成するときに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