MultiValueDictKeyError at / update'date'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MultiValueDictKeyError at / update'date'相关的知识,希望对你有一定的参考价值。

我正在尝试更新数据库,但是遇到了MultiValueDictKeyError。

该问题由'日期'触发为:

t.date = request.POST.get('date')

我尝试过

print(request.POST)

结果:

<QueryDict: {'csrfmiddlewaretoken': ['9mgfDaQRsH4Pv5rvglufS3wC61QDL5i9tcOqmBQwNFAKFpzE79h9wBY8St9CwBsB'], 'ID_number': ['4'], 'date_month': ['1'], 'date_day': ['1'], 'date_year': ['2020'], 'first_name': ['Gedo'], 'last_name': ['Prasad'], 'Membership_Start_date_month': ['1'], 'Membership_Start_date_day': ['1'], 'Membership_Start_date_year': ['2020'], 'Membership_End_date_month': ['4'], 'Membership_End_date_day': ['1'], 'Membership_End_date_year': ['2020'], 'member_type': ['Gym&Sauna'], 'payment_type': ['3 Month'], 'rate': ['23'], 'paid': ['20'], 'due': ['3'], 'Contact_number': ['1121212129'], 'Email': ['gedo@pzrasad.com'], 'Remarks': ['gsa']}>

注意,日期字段分别给出了“ date_month”,“ date_day”,“ date_year”。也许这就是问题所在。但是我不知道答案。任何建议对我都是学生和初学者都是非常有帮助的。

这是我的模型。py:

class Member(models.Model):
    ID_number = models.IntegerField()
    date = models.DateField(verbose_name='date')
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    member_type = models.CharField(
        max_length=30,
        choices=MEMBERSHIP_CHOICES,
    )
    payment_type = models.CharField(
        max_length=30,
        choices=PAYMENT_TYPE_CHOICES,
    )
    Membership_Start_date = models.DateField(verbose_name='Membership_Start_date')
    Membership_End_date = models.DateField(verbose_name='Membership_End_date')
    rate = models.IntegerField()
    paid = models.IntegerField()
    due = models.IntegerField()
    Contact_number = models.CharField(max_length=14)
    Email = models.EmailField()
    Remarks = models.CharField(max_length=255, blank = True, null = True)

def __str__(self):
    return str(self.ID_number) + "  " + self.first_name + " " + self.last_name
答案

所以,我确实找到了一种基于日期字段采用的格式的变通方法,即YYYY-MM-DD:

t.date = request.POST['date_year'] + "-" + request.POST['date_month'] + "-" + request.POST['date_day']

但是还有其他方法吗?

以上是关于MultiValueDictKeyError at / update'date'的主要内容,如果未能解决你的问题,请参考以下文章

django 在 / 'file' 处引发 MultiValueDictKeyError

MultiValueDictKeyError - Django

MultiValueDictKeyError "iSortingCols"

如何修复 django 错误 MultiValueDictKeyError

尝试接收条带挂钩时在 Django 上获取 MultiValueDictKeyError

Django 在文件上传中引发 MultiValueDictKeyError