新しく作成したModelForm
の主キーを同じビューの別のフォームフィールドに渡す必要がありますが、エラーが発生します。この作品を作るための提案はありますか? それは、過去のように見える、これが答えのようになります。未保存の関連オブジェクトによるデータ損失を防ぐためにsave()を禁止
def contact_create(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect(reverse(contact_details, args=(form.pk,)))
else:
form = ContactForm()
ドキュメントから、これは> 1.8.3
p3 = Place(name='Demon Dogs', address='944 W. Fullerton') Restaurant.objects.create(place=p3, serves_hot_dogs=True, serves_pizza=False)
Traceback (most recent call last):
...
ValueError: save() prohibited to prevent data loss due to unsaved related object 'place'.
新しいDjangoのバージョンで何が起こっているかである。これは私が私を取得しています方法ですビューからpk
:
my_id = ""
if form.is_valid():
# deal with form first to get id
model_instance = form.save(commit=False)
model_instance.pub_date= timezone.now()
model_instance.user= current_user.id
model_instance.save()
my_id = model_instance.pk
if hourformset.is_valid():
hourformset.save(commit=False)
for product in hourformset:
if product.is_valid():
product.save(commit=False)
product.company = my_id
product.save()
else:
print(" modelform not saved")
return HttpResponseRedirect('/bizprofile/success')
2)product.company = model_instanceの代わりにproduct.company = my_idと同じ、3)エラーとは何ですか?1)なぜmodel_instance.userをcurrent_user.idに設定するのですか?あなたは(あなたが引用したValueErrorですか?)コード内のどの行になっていますか? –
エラーは常にproduct.save()にあります。 – Godfrey
save()は、保存されていない関連オブジェクト 'company'によるデータ損失を防ぐために禁止されています。私はあなたの提案を既に適用しました。 – Godfrey