簡體   English   中英

Django模型向導:IntegrityError列“ user_id”不能為空

[英]Django Model Wizard : IntegrityError Column “user_id” cannot be null

嘗試使用django向導時出現一個小問題,我撓頭解決了問題

這是我的模型:

class Profile(models.Model):
    profile_user = models.OneToOneField(User,db_index=True)
    studio = models.ForeignKey(Account)

這是我的wizard.py:

from django.utils.translation import ugettext_lazy as _
from django.forms.models import modelform_factory
from formtools.wizard.views import SessionWizardView
from .models import *

class NewModelWizard(SessionWizardView):
     form_list = [
         (_('New model registration'),modelform_factory(User, fields=('username','password'))),
         (_('Model data'), modelform_factory(Profile))
     ]
template_name = "create_profile.html"

def done(self,form_list, **kwargs):
    user = form_list[0].save()
    profile = form_list[1].save(commit=False)
    profile.studio = self.request.user.account
    profile.user = User.objects.get(id=user.id)
    profile.save()

提交向導后,我遇到以下錯誤:

IntegrityError : (1048, "Column 'profile_user_id' cannot be null")

我在這里看不到我在做什么錯,是否有人知道發生了什么以及如何解決?

您的字段名稱是profile_user ,所以使用它。

profile.profile_user = user

請注意,您不必從數據庫中重新獲取用戶,只需使用user

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM