match = time_re.match(value)TypeError:预期的字符串或缓冲区

时间:2015-07-01 05:34:33

标签: python django django-models

my models.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'。请提供一些解决方案。

1 个答案:

答案 0 :(得分:0)

打开数据库,然后打开 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