django.contrib.auth扩展User with Profil错误“No column id”

时间:2018-04-24 01:14:05

标签: django

我使用django.contrib.auth并使用OneToOne profil扩展它。

前几天一切正常,但今天我无法从user.profil访问profil,我的模型不起作用,我一直收到错误Django.db.utils.OperationalError: no such column users_profil.id

为什么?

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


class Profil(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    postal_code = models.CharField(max_length=255)
    facebook_profil = models.URLField(max_length=255)
    make = models.CharField(max_length=255)
    model = models.CharField(max_length=255)
    year = models.CharField(max_length=255)
    photo = models.ImageField(upload_to="")

我无法访问profil

>> from django.contrib.auth.models import User
>> from users.models import Profil
>> user = User.objects.get(pk=1)
>> user.pk
1
>> user.profil 
Django.db.utils.OperationalError: no such column users_profil.id

2 个答案:

答案 0 :(得分:0)

假设profil是一个Profil对象,它是使用与pk = 1用户的onetoone关系创建的,那么语法是不应该相反?我尝试重新创建此项,并使用user.profil获取错误,但反过来说明了这一点:

>>> profil.user
<User: admin>
>>> profil.user.pk
1

答案 1 :(得分:0)

由于此功能与contenttypes应用有关,我猜你还没有添加Profil模型所在的应用来安装应用设置。