0
votes

my app named mainsite

I have the table class named Weather in models.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)

I don't want my observe_time set any deafult value

So I set to None .

I have made migrations.

when I made migrate

Then the traceback happen:

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

I don't know what caused this error.

thx.

1

1 Answers

0
votes

In order for this to work you should also make this field nullable and blankable, like this:

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

or omit default=None completely, like this:

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

Also, after that, don't forget to delete the previous migration file and run makemigrations and migrate again.