Python [Django]Django.db.utils.IntegrityError
我的应用程序名为mainsite 我在models.py中有一个名为Weather的table类Python [Django]Django.db.utils.IntegrityError,python,django,django-models,Python,Django,Django Models,我的应用程序名为mainsite 我在models.py中有一个名为Weather的table类 class Weather(models.Model): tpr = models.CharField(max_length=5) wet = models.CharField(max_length=5) ur = models.CharField(max_length=5) li = models.CharField(max_length=5) observ
class Weather(models.Model):
tpr = models.CharField(max_length=5)
wet = models.CharField(max_length=5)
ur = models.CharField(max_length=5)
li = models.CharField(max_length=5)
observe_time = models.DateTimeField(default=None)
我不想让我的observe\u time
设置任何deafult值
所以我设置为“无”
我进行了迁移
当我做出决定的时候
然后发生回溯:
文件“manage.py”,第22行,在
从命令行(sys.argv)执行命令
文件“C:\Users\User\Anaconda3\lib\site packages\django\core\management\uuuu init\uuuu.py”
第354行,从命令行执行命令
utility.execute() File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\__init__.py",
执行中的第346行
self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\base.py",
output = self.handle(*args, **options) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\commands\migrate.py",
cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return super(CursorDebugWrapper, self).execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\utils.py", line
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\base.py",
return Database.Cursor.execute(self, query, params) django.db.utils.IntegrityError: NOT NULL constraint failed:
第394行,来自argv的运行中
self.execute(*args, **cmd_options) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\base.py",
执行中的第445行
self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\base.py",
output = self.handle(*args, **options) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\commands\migrate.py",
cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return super(CursorDebugWrapper, self).execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\utils.py", line
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\base.py",
return Database.Cursor.execute(self, query, params) django.db.utils.IntegrityError: NOT NULL constraint failed:
第222行,在句柄中
executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial) File
“C:\Users\User\Anaconda3\lib\site packages\django\db\migrations\executor.py”
第110行,在“迁移”中
self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial) File
“C:\Users\User\Anaconda3\lib\site packages\django\db\migrations\executor.py”
第148行,在应用_迁移中
state = migration.apply(state, schema_editor) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\migrations\migration.py",
第115行中的“应用”
operation.database_forwards(self.app_label, schema_editor, old_state, project_state) File
“C:\Users\User\Anaconda3\lib\site packages\django\db\migrations\operations\fields.py”
第62行,在数据库中
field, File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\schema.py",
第179行,在“添加”字段中
self._remake_table(model, create_fields=[field]) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\schema.py",
第147行,在表中
self.quote_name(model._meta.db_table), File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\base\schema.py",
执行中的第111行
self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\base.py",
output = self.handle(*args, **options) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\commands\migrate.py",
cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return super(CursorDebugWrapper, self).execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\utils.py", line
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\base.py",
return Database.Cursor.execute(self, query, params) django.db.utils.IntegrityError: NOT NULL constraint failed:
执行中的第79行
self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\base.py",
output = self.handle(*args, **options) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\commands\migrate.py",
cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return super(CursorDebugWrapper, self).execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\utils.py", line
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\base.py",
return Database.Cursor.execute(self, query, params) django.db.utils.IntegrityError: NOT NULL constraint failed:
第64行,在execute中
self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\base.py",
output = self.handle(*args, **options) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\commands\migrate.py",
cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return super(CursorDebugWrapper, self).execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\utils.py", line
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\base.py",
return Database.Cursor.execute(self, query, params) django.db.utils.IntegrityError: NOT NULL constraint failed:
98,在退出中
six.reraise(dj_exc_type, dj_exc_value, traceback) File "C:\Users\User\Anaconda3\lib\site-packages\django\utils\six.py", line
685,在雷莱斯
raise value.with_traceback(tb) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
第64行,在execute中
self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\base.py",
output = self.handle(*args, **options) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\commands\migrate.py",
cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return super(CursorDebugWrapper, self).execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\utils.py", line
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\base.py",
return Database.Cursor.execute(self, query, params) django.db.utils.IntegrityError: NOT NULL constraint failed:
第318行,执行中
self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\base.py",
output = self.handle(*args, **options) File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\commands\migrate.py",
cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return super(CursorDebugWrapper, self).execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\utils.py", line
return self.cursor.execute(sql, params) File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\base.py",
return Database.Cursor.execute(self, query, params) django.db.utils.IntegrityError: NOT NULL constraint failed:
主站点\天气\新。观察\时间
我不知道是什么导致了这个错误
thx.为了使其正常工作,您还应使此字段可为空和可为空,如下所示:
observe_time = models.DateTimeField(default=None, blank=True, null=True)
observe_time = models.DateTimeField(blank=True, null=True)
或者完全忽略default=None
,如下所示:
observe_time = models.DateTimeField(default=None, blank=True, null=True)
observe_time = models.DateTimeField(blank=True, null=True)
此外,在此之后,不要忘记删除上一个迁移文件,并再次运行makemigrations
和migrate