亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

/notes/add NOT NULL 約束處??出現 IntegrityError 失?。?/h1>

當我在 django2 中添加功能時遇到問題無法添加新帖子并且這段代碼/notes/add NOT NULL 約束處出現 IntegrityError 失?。簄otes_note.created的觀點    def note_add(request):    # form = NoteForm()    if request.method == 'POST':        form = NoteForm(request.POST)        if form.is_valid():            new_form = form.save(commit=False)            new_form.user = request.user            new_form.save()            return redirect('/notes')    else:        form = NoteForm()    context={        "form":form,    }    return render(request, 'add.html', context )
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

您沒有為模型created中的字段設置默認值Note。因此,沒有填寫任何值,因此出現錯誤:您可以將參數auto_now_add=…[Django-doc]設置為True自動將其設置為創建對象時的時間戳:

class Note(models.Model):

? ? # …

? ? created = models.DateTimeField(auto_now_add=True)

通常最好改變.instance表格中的包裹,讓表格成為.save()模型。如果您(稍后)向模型添加多對多關系Note,這尤其有用,因為表單以更透明的方式處理此邏輯:


def note_add(request):

? ? if request.method == 'POST':

? ? ? ? form = NoteForm(request.POST)

? ? ? ? if form.is_valid():

? ? ? ? ? ? form.instance.user = request.user

? ? ? ? ? ? form.save()

? ? ? ? ? ? return redirect('/notes')

? ? else:

? ? ? ? form = NoteForm()

? ? context={

? ? ? ? 'form': form,

? ? }

? ? return render(request, 'add.html', context)


查看完整回答
反對 回復 2024-01-11
  • 1 回答
  • 0 關注
  • 148 瀏覽

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號