0
我可能會因爲我在這裏沒有看到問題而倦怠,並且我確信它是一件小事。用戶外鍵Django保存表格
我有一個模型表單誰是模型是配置文件(配置文件是用戶通過網站上的許多表單,通常工作)。在這種特殊的形式中,我只使用一個字段。當我嘗試保存它時,它會中斷:「user_id」列中的空值違反了非空約束。用戶是Profile模型上的外鍵。
我有類似的形式/視圖,只處理配置文件模型的一個字段和保存工作好吧。我正在比較代碼,而我根本看不出有什麼不同。正如我所說,我可能會被燒壞一點。
這是我的形式:
class CompleteRegistration(forms.ModelForm):
class Meta:
model = Profile
fields = ('resume',)
這是視圖:
def complete_registration(request):
if request.method == "POST":
form = CompleteRegistration(request.POST)
if form.is_valid():
form.save()
return redirect(request.GET.get('next', ''))
else:
form = CompleteRegistration()
context = {
'form': form
}
return render_to_response('accounts/complete_registration.html', context, RequestContext(request))
它應該是很簡單的,但我明顯失去了一些東西。 Profile模型也有一個uuid字段。它存在於失敗的行中,這讓我更加困惑。爲什麼有一個uuid和沒有用戶?有任何想法嗎?難道是因爲視圖中的用戶實例實際上是一個SimpleLazyObject?
你是說在else分支中,像這樣? 'form = CompleteRegistration(instance = request.user.get_profile())' - 因爲那也行不通,我遇到了同樣的問題。 – dnmh
在'if request.method =='POST':'和'else:'分支中。 – knbk
我在if分支中添加了這個:'form = CompleteRegistration(request.POST,instance = request.user.get_profile())' - 它不再破壞,它沒問題。但是,簡歷(FieldFile)未保存。這完全是一個不同的問題,還是與此有關?謝謝。 – dnmh