【问题标题】:value is not recorded in the database值未记录在数据库中
【发布时间】:2014-09-26 10:26:36
【问题描述】:

请帮忙找出错误

型号:

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'

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

【问题讨论】:

    标签: python django python-3.x


    【解决方案1】:

    不,您没有在“数据库中正常输入”。您直接从类中调用 save 方法,这不是您创建和保存实例的方式。您可能打算改用Diary.objects.create(...)

    但是,这与保存表单无关,您只需调用 form.save() 即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-19
      • 2013-12-14
      • 1970-01-01
      相关资源
      最近更新 更多