Django报错TypeError: Field.__init__()收到意外参数'max_lenght'原因咨询
Django模型字段报错:TypeError: Field.init() got an unexpected keyword argument 'max_lenght'
错误原因
核心问题是拼写错误:你在CharField中写了max_lenght,正确的参数名应为max_length(末尾是th而非ht)。此外代码里还有几处拼写错误需要同步修正:
models.DataTimeField→ 正确写法是models.DateTimeField(缺失字母e)conent = models.TextField()→ 正确变量名是content(缺失字母t)
修正后的完整模型代码
from django.db import models from django.contrib.auth.models import User STATUS = ((0, 'Draft'), (1, 'Published')) # Create your models here. class Post(models.Model): title = models.CharField(max_length=200, unique=True) slug = models.SlugField(max_length=200, unique=True) author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='blog_post') created_on= models.DateTimeField(auto_now_add=True) updated_on = models.DateTimeField(auto_now=True) content = models.TextField() status = models.IntegerField(choices=STATUS, default=0) class Meta: ordering = ['created_on'] def __str__(self): return self.title
报错日志对应分析
从报错日志的这一行可以直接定位问题:
File "C:\Users\mi\Moj\Development\Blog\mysite\blog\models.py", line 8, in Post title = models.CharField(max_lenght=200, unique=True)
Django的Field类不存在max_lenght这个参数,因此抛出「意外的关键字参数」错误,修正拼写后即可解决。
内容的提问来源于stack exchange,提问作者Pr0bit Marcin Idzik
相关产品推荐
相关产品推荐

