我使用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
答案 0 :(得分:0)
假设profil是一个Profil对象,它是使用与pk = 1用户的onetoone关系创建的,那么语法是不应该相反?我尝试重新创建此项,并使用user.profil
获取错误,但反过来说明了这一点:
>>> profil.user
<User: admin>
>>> profil.user.pk
1
答案 1 :(得分:0)
由于此功能与contenttypes应用有关,我猜你还没有添加Profil模型所在的应用来安装应用设置。