0

属性の末尾に_idを追加することによって引き起こされる完全性エラーに関するいくつかの例を読みましたが、それらのほとんどは、私が持っているエラーではないuser_idを考慮しています-私のものは、外部キーの初期値を別の値に設定することですモデル (レシピにはクックブックへの fk があります)

ここに私の痕跡があります

IntegrityError at /cookbook/createrecipe/

(1048, "Column 'original_cookbook_id' cannot be null")

Request Method:     POST
Request URL:    http://127.0.0.1:8000/cookbook/createrecipe/
Django Version:     1.3.1
Exception Type:     IntegrityError
Exception Value:    

(1048, "Column 'original_cookbook_id' cannot be null")

Exception Location:     /Library/Python/2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg/MySQLdb/connections.py in defaulterrorhandler, line 36
Python Executable:  /usr/bin/python
Python Version:     2.6.1
def createrecipe(request):

        form = RecipeForm(request.POST)

        if request.method == 'POST':

            if form.is_valid():

                form = RecipeForm(initial = {'original_cookbook' : request.user.cookbooks.all()[0]})

                recipe = form.save()//error

...

            t = loader.get_template('cookbook/create_form.html')

            c = RequestContext(request, {

                'form': form,

            })

            data = {

            'form': t.render(c),

ご覧のとおり、original_cookbook という名前のforeign_key があり、これをユーザーのクックブックに初期設定したいと考えています。

これを引き起こしている可能性のあるアイデアは、必要に応じてさらにコードを送信できます

ありがとう

スナックフィッシュ

4

1 に答える 1

0

.....

form = RecipeForm(request.POST)
if request.method == 'POST':
  if form.is_valid():
    recipe = form.save(commit=False)
    recipe.original_cookbook = request.user.cookbooks.all()[0]
    recipe.save()
于 2012-04-26T04:33:43.593 に答える