[江戈]Django.db.utils.完整性

2024-04-18 11:10:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我的应用程序名为mainsite

我有一个名为Weather的表类模型.py在

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_time设置任何deafult值

所以我设置为“无”。在

我做过迁徙。在

当我迁移的时候

然后回溯发生了:

File "manage.py", line 22, in execute_from_command_line(sys.argv)

File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management__init__.py",

line 354, in execute_from_command_line

utility.execute()   File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\__init__.py",

line 346, in execute

self.fetch_command(subcommand).run_from_argv(self.argv)   File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\base.py",

line 394, in run_from_argv

self.execute(*args, **cmd_options)   File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\base.py",

line 445, in execute

output = self.handle(*args, **options)   File "C:\Users\User\Anaconda3\lib\site-packages\django\core\management\commands\migrate.py",

line 222, in handle

executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)   File

"C:\Users\User\Anaconda3\lib\site-packages\django\db\migrations\executor.py",

line 110, in migrate

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",

line 148, in apply_migration

state = migration.apply(state, schema_editor)   File "C:\Users\User\Anaconda3\lib\site-packages\django\db\migrations\migration.py",

line 115, in apply

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",

line 62, in database_forwards

field,   File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\schema.py",

line 179, in add_field

self._remake_table(model, create_fields=[field])   File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\schema.py",

line 147, in _remake_table

self.quote_name(model._meta.db_table),   File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\base\schema.py",

line 111, in execute

cursor.execute(sql, params)   File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",

line 79, in execute

return super(CursorDebugWrapper, self).execute(sql, params)   File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",

line 64, in execute

return self.cursor.execute(sql, params)   File "C:\Users\User\Anaconda3\lib\site-packages\django\db\utils.py", line

98, in exit

six.reraise(dj_exc_type, dj_exc_value, traceback)   File "C:\Users\User\Anaconda3\lib\site-packages\django\utils\six.py", line

685, in reraise

raise value.with_traceback(tb)   File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\utils.py",

line 64, in execute

return self.cursor.execute(sql, params)   File "C:\Users\User\Anaconda3\lib\site-packages\django\db\backends\sqlite3\base.py",

line 318, in execute

return Database.Cursor.execute(self, query, params) django.db.utils.IntegrityError: NOT NULL constraint failed:

mainsite_weather__new.observe_time

我不知道是什么导致了这个错误。在

泰铢。在


Tags: djangoinpyselfexecutedblibpackages
1条回答
网友
1楼 · 发布于 2024-04-18 11:10:20

为了使其工作,您还应该使该字段可为null和可为空,如下所示:

observe_time = models.DateTimeField(default=None, blank=True, null=True)

或者完全忽略default=None,如下所示:

^{pr2}$

另外,在这之后,不要忘记删除以前的迁移文件并再次运行makemigrations和{}。在

相关问题 更多 >