match=time_re.match(value)TypeError:需要字符串或缓冲区



我的模型.py:

class Attendancename(models.Model):
    teacher_name = models.ForeignKey(Teachername)
    date = models.DateField('Date')
    intime = models.TimeField('IN-TIME')
    outtime = models.TimeField('OUT-TIME')
    hours = models.TimeField('Working Hours')
    def __str__(self):
        return "%s" %self.teacher_name

我在Windows-7上工作,我添加了一个名为hours的字段,然后当进行迁移时,django要求我提供一个一次性默认值,我提供了'0'。在那之后,我尝试迁移我的更改,然后它给了我以上的回溯(我无法复制整个回溯)。

我试图删除字段并重新插入,但django一次又一次地提示我上述错误。谁能告诉我怎么修吗?

我已经删除了我的迁移文件,之后我运行命令'python manage.py makemigrations''python manage.py migrate',但它无论如何都不起作用。我也使用过'syncdb'。请提供一些解决方案。

打开数据库,然后打开django_migrations表,删除包含迁移名称的行及其后的行,然后重新创建迁移并设置有效值
注意:您可以在创建默认值之前设置默认值,如下所示:

class Attendancename(models.Model):
    teacher_name = models.ForeignKey(Teachername)
    date = models.DateField('Date', auto_now=True)
    intime = models.TimeField('IN-TIME', default=datetime.time(0))
    outtime = models.TimeField('OUT-TIME', default=datetime.time(0))
    hours = models.TimeField('Working Hours', default=datetime.time(0))
    def __str__(self):
        return "%s" %self.teacher_name

最新更新