gpt4 book ai didi

python - Django:ValueError:字段 account.UserProfile.user 引用的模型查找失败:auth.User

转载 作者:太空狗 更新时间:2023-10-29 17:19:14 24 4
gpt4 key购买 nike

运行 python manage.py migrate 时出现此错误:

ValueError: Lookup failed for model referenced by field account.UserProfile.user: auth.User

我做的步骤:

1. 创建项目并添加新应用:

$ django-admin.py startproject djdev
$ cd djdev
$ python manage.py startapp account

2. 我在 djdev/settings.py 中向 INSTALLED_APPS 添加了新应用:

...
'django.contrib.staticfiles',
'account',
)
...

3.account/models.py 中创建了一个新的 UserProfile 模型类:

from django.db import models
from django.contrib.auth.models import User

class UserProfile(models.Model):
"""
User Profile having one-to-one relations with User
"""
class Meta:
db_table = 'user_profile'
ordering = ['id']

user = models.OneToOneField(User, db_column='id_user', related_name='profile')

mobile_no = models.CharField('Mobile no.', db_column='contact_no_home', max_length=16, blank=True, null=True)
address_line_1 = models.CharField('Address Line 1', db_column='contact_address_line_1_home', max_length=140, blank=True, null=True)
address_line_2 = models.CharField('Address Line 2', db_column='contact_address_line_2_home', max_length=140, blank=True, null=True)

office_mobile_no = models.CharField('Mobile no.', db_column='contact_no_office', max_length=16, blank=True, null=True)
office_address_line_1 = models.CharField('Address Line 1', db_column='contact_address_line_1_office', max_length=140, blank=True, null=True)
office_address_line_2 = models.CharField('Address Line 2', db_column='contact_address_line_2_office', max_length=140, blank=True, null=True)

about = models.TextField('About me', blank=True, null=True)
note = models.CharField('Note', max_length=255, blank=True, null=True)

def __unicode__(self):
return self.user.name

4.开始迁移:

$ python manage.py makemigrations account
$ python manage.py migrate

执行完最后一条命令 python manage.py migrate 后出现此错误:

Operations to perform:
Synchronize unmigrated apps: (none)
Apply all migrations: admin, contenttypes, account, auth, sessions
Synchronizing apps without migrations:
Creating tables...
Installing custom SQL...
Installing indexes...
Running migrations:
Applying account.0001_initial...Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/vinay/python_webapps/django-trunk/django/core/management/__init__.py", line 427, in execute_from_command_line
utility.execute()
File "/home/vinay/python_webapps/django-trunk/django/core/management/__init__.py", line 419, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/vinay/python_webapps/django-trunk/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/vinay/python_webapps/django-trunk/django/core/management/base.py", line 337, in execute
output = self.handle(*args, **options)
File "/home/vinay/python_webapps/django-trunk/django/core/management/commands/migrate.py", line 146, in handle
executor.migrate(targets, plan, fake=options.get("fake", False))
File "/home/vinay/python_webapps/django-trunk/django/db/migrations/executor.py", line 62, in migrate
self.apply_migration(migration, fake=fake)
File "/home/vinay/python_webapps/django-trunk/django/db/migrations/executor.py", line 90, in apply_migration
if self.detect_soft_applied(migration):
File "/home/vinay/python_webapps/django-trunk/django/db/migrations/executor.py", line 134, in detect_soft_applied
apps = project_state.render()
File "/home/vinay/python_webapps/django-trunk/django/db/migrations/state.py", line 83, in render
model=lookup_model
ValueError: Lookup failed for model referenced by field account.UserProfile.user: auth.User

NOTE: Django Version I'm using: 1.8.dev20140507130401

最佳答案

这已经在 master 分支中修复了。

在提交中修复:

您可以安装它,直到构建正确的版本:

pip install https://github.com/django/django/zipball/master

测试:

模型.py

from django.db import models
from django.contrib.auth.models import User

class Test(models.Model):
user = models.OneToOneField(User)

结果

[__env] $ ./manage.py makemigrations
Migrations for 'data':
0001_initial.py:
- Create model Test
[__env] $ ./manage.py migrate
Operations to perform:
Synchronize unmigrated apps: admin, contenttypes, auth, sessions
(... ommited ...)
Running migrations:
Applying data.0001_initial... OK

关于python - Django:ValueError:字段 account.UserProfile.user 引用的模型查找失败:auth.User,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23523533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com