You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模型调用objects.all()时提示构造函数存在意外关键字参数错误

Django模型调用objects.all()时提示构造函数存在意外关键字参数错误

嘿,我一眼就瞅出问题出在哪啦!你定义的Kunde模型里藏了个很容易忽略的小语法错误,这才导致调用objects.all()时触发了构造函数参数错误。

先看你写的模型代码:

from django.db import models   
class Kunde(models.Model):    
    Kundennummer = models.IntegerField(),    
    Vorname = models.CharField(max_length=200),    
    Nachname = models.CharField(max_length=200)

注意到没?Kundennummer和Vorname这两个字段的定义末尾都多了个逗号!在Python里,这种写法会把这两个字段变成元组对象,而不是Django预期的字段实例。当Django尝试初始化模型类的时候,就会把这些元组当成莫名其妙的关键字参数,直接报错。

解决方法超简单,就是把多余的逗号删掉,修正后的模型代码如下:

from django.db import models

class Kunde(models.Model):
    Kundennummer = models.IntegerField()
    Vorname = models.CharField(max_length=200)
    Nachname = models.CharField(max_length=200)

接下来按这几步操作就能恢复正常:

  • 保存修正后的模型文件
  • 如果之前已经生成过迁移文件,建议先删除对应app下的旧迁移(除了__init__.py),然后重新执行迁移命令:
    python manage.py makemigrations
    python manage.py migrate
    
  • 重启Django shell,重新导入Kunde模型,再执行Kunde.objects.all()就没问题啦~

这种小语法坑真的很容易踩,尤其是赶代码的时候,下次写模型字段记得多瞄一眼末尾有没有多余的逗号哦😉

备注:内容来源于stack exchange,提问作者flori10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 16:00:28