Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python [Django]Django.db.utils.IntegrityError_Python_Django_Django Models - Fatal编程技术网

Python [Django]Django.db.utils.IntegrityError

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

我的应用程序名为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)
    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