值未记录在数据库中

时间:2014-09-26 10:26:36

标签: python django python-3.x

请帮助找到错误

模型:

class Diary(models.Model):
    user_id = models.IntegerField(
        '',
        blank=True,
        null=True,      
    )       
    title = models.CharField(
        'Заголовок записи',
        max_length=100, 
        blank=False,
    )                                   
    text = models.TextField(
        'Содержание записи',
        max_length=100, 
        blank=False,
    )

形式:

class addMessageForm(forms.ModelForm):
    class Meta:
        model = Diary
        fields = (
            'title',  
            'text',
        )   

视图:

def add_records(request):   
    form = addMessageForm()

    if request.method == "POST":
        form = addMessageForm(request.POST)

        if form.is_valid():
            print('valid')
            Diary.save(
                user_id=request.user.pk, 
                title='sdffds', 
                text='324', 
            )

            return HttpResponseRedirect('/my_records/')

    t = loader.get_template('page_add_records.html')
    c = RequestContext(request, {
        'form': form,
    }, [custom_proc])   

    return HttpResponse(t.render(c))    

由于浏览器显示以下错误消息:

  

/ add_records / save()中的TypeError得到了一个意外的关键字参数   'USER_ID'

我不明白为什么我在数据库中进行正常输入而且我有一个与表单相关的错误

1 个答案:

答案 0 :(得分:1)

不,您没有在数据库中正常输入"正常输入#34;。您直接从类中调用save方法,而不是您创建和保存实例的方式。你可能想要使用Diary.objects.create(...)代替。

然而,这与保存表单无关,只需拨打form.save()即可。