sqlite ValueError:迁移时无法解析相关模型“auth.user”

f45qwnt8  于 2023-02-05  发布在  SQLite
关注(0)|答案(1)|浏览(161)

我正在尝试为pythonanywhere.com配置一个项目。
我删除了一个旧的sqlite3文件和迁移文件,所以现在我想恢复它。我启动了命令py manage.py makemigrations,然后运行py manage.py migrate。但出现了一个错误:

Operations to perform:
  Apply all migrations: FriendsAnalyzer, account, admin, auth, contenttypes, sessions, sites, socialaccount
Running migrations:
  Applying socialaccount.0001_initial...Traceback (most recent call last):
  File "/home/FarmerKarwer/VkAnalyzer/manage.py", line 22, in <module>
    main()
  File "/home/FarmerKarwer/VkAnalyzer/manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/core/management/__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/core/management/base.py", line 402, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/core/management/base.py", line 448, in execute
    output = self.handle(*args, **options)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/core/management/base.py", line 96, in wrapped
    res = handle_func(*args, **kwargs)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/core/management/commands/migrate.py", line 349, in handle
    post_migrate_state = executor.migrate(
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/migrations/executor.py", line 135, in migrate
    state = self._migrate_all_forwards(
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/migrations/executor.py", line 167, in _migrate_all_forwards
    state = self.apply_migration(
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/migrations/executor.py", line 252, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/migrations/migration.py", line 130, in apply
    operation.database_forwards(
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/migrations/operations/models.py", line 96, in database_forwards
    schema_editor.create_model(model)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/backends/base/schema.py", line 444, in create_model
    sql, params = self.table_sql(model)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/backends/base/schema.py", line 216, in table_sql
    definition, extra_params = self.column_sql(model, field)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/backends/base/schema.py", line 348, in column_sql
    field_db_params = field.db_parameters(connection=self.connection)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/models/fields/related.py", line 1183, in db_parameters
    target_db_parameters = self.target_field.db_parameters(connection)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/models/fields/related.py", line 1060, in target_field
    return self.foreign_related_fields[0]
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/utils/functional.py", line 57, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/models/fields/related.py", line 747, in foreign_related_fields
    rhs_field for lhs_field, rhs_field in self.related_fields if rhs_field
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/utils/functional.py", line 57, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/models/fields/related.py", line 734, in related_fields
    return self.resolve_related_fields()
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/models/fields/related.py", line 1103, in resolve_related_fields
    related_fields = super().resolve_related_fields()
  File "/home/FarmerKarwer/.virtualenvs/digiholmes-virtualenv/lib/python3.9/site-packages/django/db/models/fields/related.py", line 712, in resolve_related_fields
    raise ValueError(
ValueError: Related model 'auth.user' cannot be resolved

我不认为问题出在models.py上,因为它在我的本地计算机上运行良好。

from django.db import models
from allauth.socialaccount.models import SocialAccount

# Create your models here.
class ResultInfo(models.Model):
    uid = models.ForeignKey(SocialAccount, on_delete=models.CASCADE)
    friend_id = models.CharField(max_length = 16)
    status = models.BooleanField()
    status_description = models.CharField(max_length = 16, null=True, blank=True)
    result_info = models.JSONField()

    def __str__(self):
        return str(self.uid) + ", friend_id:" + self.friend_id

    class Meta:
        constraints = [
        models.UniqueConstraint(fields=['uid', 'friend_id'], name='composite_key')
        ]

我想问题可能是没有超级用户,所以我试着创建一个超级用户。然而,我遇到了另一个问题:我读了here的解决方案,它说我需要做python manage.py migrate,但是这是不可能的,就像我之前说的。
这是一个奇怪的行为,因为我仍然没有sqlite文件。和sqlite文件存在完全相同的问题。请注意,它不是this question的重复,因为我有不同的回溯,我也有更新版本的Django(4.1),以及网站在localhost上正常工作。

hsvhsicv

hsvhsicv1#

您可能有一个设置:

AUTH_USER_MODEL = 'auth.User'

大写的**U**,这是用户模型。
您可能尚未迁移auth模型。您可以首先使用以下命令执行此操作:

python manage.py migrate **auth**

相关问题