我无法在Django VSC中使用命令' python manage.py makemigrations'

o75abkj4  于 2022-11-18  发布在  Go
关注(0)|答案(1)|浏览(118)

我已经做了“python manage.py迁移”。现在我想在迁移中创建“0001_inital.py”文件,代码为“python manage.py makemigrations”。首先这是我的models.py;

from django.db import models


class Room(models.Model):
    #host =
    #topic =
    name = models.CharField(max_Length=200)
    description = models.Textfield(null=True, blank = True)
    #participants = 
    updated = models.DateTimeField(auto_now = True)
    created = models.DateTimeField(auto_now_add = True)

    def __str__(self):
        return str(self.name)

这里是我写“python www.example.com makemigrations”时的一些错误manage.py。
文件“",第1006行,在未锁定的查找和加载中
文件“",第688行,在_load_unlocked中
文件“",第883行,在exec_module中
文件“",第241行,在已删除帧的调用中
文件“C:\Users\c.aktel\OneDrive\Masaüstü\laan\base\models.py”,第5行,在类房间(模型.模型)中:文件“C:\Users\c.aktel\OneDrive\Masaüstü\laan\base\models.py”,第8行,位于房间名称=型号。字符字段(最大长度=200)
文件“C:\用户\c.aktel\OneDrive\管理系统\新环境\库\站点包\django\db\模型\字段_init_.py”,第1121行,在initsuper()中。init(* 参数,**kwargs)
TypeError:字段.init()获得意外的关键字参数“max_Length”

8cdiaqws

8cdiaqws1#

它应该是max_length而不是max_Length,并且应该是TextField而不是Textfield,因此正确的是:

class Room(models.Model):
    #host =
    #topic =
    name = models.CharField(max_length=200)
    description = models.TextField(null=True, blank = True)
    #participants = 
    updated = models.DateTimeField(auto_now = True)
    created = models.DateTimeField(auto_now_add = True)

    def __str__(self):
        return f"{self.name}"

同样我也建议你在__str__()模型中使用f-strings方法。
然后运行两个迁移命令。

相关问题