我的模型.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