简体   繁体   中英

django.db.utils.IntegrityError: NOT NULL constraint failed: new__users_personal_detail.husband_adhaarcopy

I added new fields and file fields and when I ran migrations I got this error.Looks like I am getting error in a FileField .I don't know what's causing this issue.Please help!

Applying users.0010_auto_20200228_1138...Traceback (most recent call last):
  File "C:\Python\Python38\lib\site-packages\django\db\backends\utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
  File "C:\Python\Python38\lib\site-packages\django\db\backends\sqlite3\base.py", line 396, in execute
    return Database.Cursor.execute(self, query, params)
sqlite3.IntegrityError: NOT NULL constraint failed: new__users_personal_detail.husband_adhaarcopy

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "C:\Python\Python38\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Python\Python38\lib\site-packages\django\core\management\__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python\Python38\lib\site-packages\django\core\management\base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Python\Python38\lib\site-packages\django\core\management\base.py", line 369, in execute
    output = self.handle(*args, **options)
  File "C:\Python\Python38\lib\site-packages\django\core\management\base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "C:\Python\Python38\lib\site-packages\django\core\management\commands\migrate.py", line 231, in handle
    post_migrate_state = executor.migrate(
  File "C:\Python\Python38\lib\site-packages\django\db\migrations\executor.py", line 117, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "C:\Python\Python38\lib\site-packages\django\db\migrations\executor.py", line 147, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
  File "C:\Python\Python38\lib\site-packages\django\db\migrations\executor.py", line 245, in apply_migration
    state = migration.apply(state, schema_editor)
  File "C:\Python\Python38\lib\site-packages\django\db\migrations\migration.py", line 124, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "C:\Python\Python38\lib\site-packages\django\db\migrations\operations\fields.py", line 110, in database_forwards
    schema_editor.add_field(
  File "C:\Python\Python38\lib\site-packages\django\db\backends\sqlite3\schema.py", line 328, in add_field
    self._remake_table(model, create_field=field)
  File "C:\Python\Python38\lib\site-packages\django\db\backends\sqlite3\schema.py", line 283, in _remake_table
    self.execute("INSERT INTO %s (%s) SELECT %s FROM %s" % (
  File "C:\Python\Python38\lib\site-packages\django\db\backends\base\schema.py", line 142, in execute
    cursor.execute(sql, params)
  File "C:\Python\Python38\lib\site-packages\django\db\backends\utils.py", line 100, in execute
    return super().execute(sql, params)
  File "C:\Python\Python38\lib\site-packages\django\db\backends\utils.py", line 68, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "C:\Python\Python38\lib\site-packages\django\db\backends\utils.py", line 77, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "C:\Python\Python38\lib\site-packages\django\db\backends\utils.py", line 86, in _execute
  File "C:\Python\Python38\lib\site-packages\django\db\utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Python\Python38\lib\site-packages\django\db\backends\utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
  File "C:\Python\Python38\lib\site-packages\django\db\backends\sqlite3\base.py", line 396, in execute
    return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: NOT NULL constraint failed: new__users_personal_detail.husband_adhaarcopy

this is how my models.py looks like.I have given blank=True and null=True for the file field as well,and i think i should have worked fine but when i run python manage.py migrate I get this error.

class Personal_Detail(models.Model):
    beneficiary_adhaar_name=models.TextField(blank=True, null=True)
    adhaarno=models.IntegerField(blank=True, null=True)
    adhaarcopy = models.FileField(upload_to='adhaar/', null=True, blank=True,)


    idcard=models.TextField(blank=True, null=True)
    adhaar_eid=models.IntegerField(blank=True,null=True)    
    beneficiary_id_name=models.TextField(blank=True, null=True)
    idno=models.IntegerField(blank=True, null=True)
    idcopy=models.FileField(upload_to='identitycard/', null=True, blank=True,)

    husband_adhaar_name=models.TextField(blank=True, null=True)
    husband_adhaarno=models.IntegerField(blank=True, null=True)
    husband_adhaarcopy = models.FileField(upload_to='adhaar/', null=True, blank=True,)

    husband_idcard=models.TextField(blank=True, null=True)
    husband_adhaar_eid=models.IntegerField(blank=True,null=True)    
    husband_id_name=models.TextField(blank=True, null=True)
    husband_idno=models.IntegerField(blank=True, null=True)
    husband_idcopy=models.FileField(upload_to='identitycard/', null=True, blank=True,)


    def __str__(self):
          return self.beneficiary_adhaar_name or self.beneficiary_id_name or str(self.pk)

First delete all the migrations in your migrations folder except init.py file and then run makemigrations and migrate commands.

hope it works

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM