简体   繁体   English

即使删除 django 中的迁移后,旧应用程序名称也会显示?

[英]Even After Deleting the migrations in django, old app name shows up?

The login_user app, was never created for this project.从未为此项目创建login_user应用程序。 And when I run makemigrations for, I get the following error当我运行makemigrations时,我收到以下错误

ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'login_user.user', but app 'login_user' isn't installed.

Full stacktrace to migrate command迁移命令的完整堆栈跟踪


(skincurate) ➜ python manage.py migrate admin
/home/sshivaditya/Projects/Updated_code_3/Skincurate_Research
Operations to perform:
  Apply all migrations: admin
Running migrations:
  Applying admin.0004_auto_20220825_1517...Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/core/management/base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 232, in handle
    post_migrate_state = executor.migrate(
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/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 "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/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 "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/migrations/executor.py", line 245, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/migrations/migration.py", line 124, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/migrations/operations/fields.py", line 249, in database_forwards
    schema_editor.alter_field(from_model, from_field, to_field)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/backends/sqlite3/schema.py", line 137, in alter_field
    super().alter_field(model, old_field, new_field, strict=strict)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 507, in alter_field
    new_db_params = new_field.db_parameters(connection=self.connection)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/models/fields/related.py", line 966, in db_parameters
    return {"type": self.db_type(connection), "check": self.db_check(connection)}
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/models/fields/related.py", line 963, in db_type
    return self.target_field.rel_db_type(connection=connection)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/models/fields/related.py", line 878, in target_field
    return self.foreign_related_fields[0]
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/models/fields/related.py", line 632, in foreign_related_fields
    return tuple(rhs_field for lhs_field, rhs_field in self.related_fields if rhs_field)
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/models/fields/related.py", line 619, in related_fields
    self._related_fields = self.resolve_related_fields()
  File "/home/sshivaditya/miniconda3/envs/skincurate/lib/python3.8/site-packages/django/db/models/fields/related.py", line 604, in resolve_related_fields
    raise ValueError('Related model %r cannot be resolved' % self.remote_field.model)
ValueError: Related model 'login_user.User' cannot be resolved

The login_user app does not even exist. login_user 应用程序甚至不存在。 I cannot create a new app with the same name nor work on any new migrations.我无法创建具有相同名称的新应用程序,也无法进行任何新的迁移。 Even after deleting the migrations as well as the DB.即使在删除迁移以及数据库之后。 Any idea why?知道为什么吗?

simply do this and try:只需这样做并尝试:

please delete your db also and migrate from scratch.请也删除您的数据库并从头开始迁移。

after deleting db try this:删除数据库后试试这个:

python manage.py makemigrations appname
python manage.py sqlmigrate appname 0001 #value which is generated after makemigrations
python manage.py migrate

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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