(django) PS C:\Users\mayank\Desktop\env\django\Scripts\website\website> py manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, hubofaccounts, sessions
Running migrations:
Applying hubofaccounts.0006_remove_streviews_batch_remove_streviews_name_and_more...Traceback (most recent call last):
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\models\fields\__init__.py", line 1988, in get_prep_value
return int(value)
ValueError: invalid literal for int() with base 10: ''
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\mayank\Desktop\env\django\Scripts\website\website\manage.py", line 22, in <module>
main()
File "C:\Users\mayank\Desktop\env\django\Scripts\website\website\manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\core\management\__init__.py", line 446, in execute_from_command_line
utility.execute()
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\core\management\__init__.py", line 440, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\core\management\base.py", line 414, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\core\management\base.py", line 460, in execute
output = self.handle(*args, **options)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\core\management\base.py", line 98, in wrapped
res = handle_func(*args, **kwargs)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\core\management\commands\migrate.py", line 290, in handle
post_migrate_state = executor.migrate(
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\migrations\executor.py", line 131, in migrate
state = self._migrate_all_forwards(
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\migrations\executor.py", line 163, in _migrate_all_forwards
state = self.apply_migration(
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\migrations\executor.py", line 248, in apply_migration
state = migration.apply(state, schema_editor)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\migrations\migration.py", line 131, in apply
operation.database_forwards(
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\migrations\operations\fields.py", line 108, in database_forwards
schema_editor.add_field(
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\backends\sqlite3\schema.py", line 381, in add_field
self._remake_table(model, create_field=field)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\backends\sqlite3\schema.py", line 230, in _remake_table
self.effective_default(create_field)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\backends\base\schema.py", line 410, in effective_default
return field.get_db_prep_save(self._effective_default(field), self.connection)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\models\fields\__init__.py", line 910, in get_db_prep_save
return self.get_db_prep_value(value, connection=connection, prepared=False)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\models\fields\__init__.py", line 2668, in get_db_prep_value
value = self.get_prep_value(value)
File "C:\Users\mayank\Desktop\env\django\lib\site-packages\django\db\models\fields\__init__.py", line 1990, in get_prep_value
raise e.__class__(
ValueError: Field 'id' expected a number but got ''.
What are the migration you’re trying to apply, and the previous one?
It looks like you migrating from a CharField that allowed blank values to IntegerField
from django.db import models
from django.utils.timezone import now
Create your models here.
class contact(models.Model):
name = models.CharField(max_length=70)
email = models.CharField(max_length=70)
phone = models.CharField(max_length=12)
desc = models.TextField()
def __str__(self) :
return self.name
class streviews(models.Model):
sno = models.AutoField(primary_key= True)
name = models.CharField(max_length=70)
batch = models.CharField(max_length=70)
review = models.TextField()
timestamp = models.DateTimeField(default= now)
def __str__(self) :
return self.name + " - " + self.batch
And what about the migrations files?
This one: hubofaccounts.0006_remove_streviews_batch_remove_streviews_name_and_more
Generated by Django 4.0.5 on 2022-12-11 13:34
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('hubofaccounts', '0005_streviews_batch_streviews_name'),
]
operations = [
migrations.RemoveField(
model_name='streviews',
name='batch',
),
migrations.RemoveField(
model_name='streviews',
name='name',
),
migrations.RemoveField(
model_name='streviews',
name='review',
),
migrations.RemoveField(
model_name='streviews',
name='sno',
),
migrations.RemoveField(
model_name='streviews',
name='timestamp',
),
migrations.AddField(
model_name='streviews',
name='Image',
field=models.ImageField(blank=True, null=True, upload_to='image/'),
),
migrations.AddField(
model_name='streviews',
name='id',
field=models.BigAutoField(auto_created=True, default='', primary_key=True, serialize=False, verbose_name='ID'),
preserve_default=False,
),
]
You’re getting this error because default=''
Remove the default
argument