Python match=时间匹配(值)类型错误:应为字符串或缓冲区
my models.py:Python match=时间匹配(值)类型错误:应为字符串或缓冲区,python,django,django-models,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('
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
打开数据库,然后打开“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
但我使用的是sqlite,它是内置的django。我不知道我必须在哪里打开db api。我应该删除我的迁移文件吗?使用sqlite man或其他sqlite管理程序,是的,您必须删除旧的迁移文件。您还可以为
hour
字段设置default
值,然后运行/manage.py makemigrations
命令。如何安装其他数据库,然后安装类似Postgre Sql的sqlite?关于我目前的项目。可以这样做吗?阅读更多关于django db连接设置的信息:我已经删除了迁移文件并运行命令-python manage.py migrate。但它仍然显示相同的错误…但我使用的是内置django的sqlite。我不知道我必须在哪里打开db api。我应该删除我的迁移文件吗?使用sqlite man或其他sqlite管理程序,是的,您必须删除旧的迁移文件。您还可以为hour
字段设置default
值,然后运行/manage.py makemigrations
命令。如何安装其他数据库,然后安装类似Postgre Sql的sqlite?关于我目前的项目。可以这样做吗?阅读更多关于django db连接设置的信息:我已经删除了迁移文件并运行命令-python manage.py migrate。但它仍然显示出同样的错误。。。