1

我想在用户模型中添加字段,所以我通过制作一个新的应用程序来扩展它extended_profile。我的模型.py:

from oscar.apps.customer.abstract_models import AbstractUser    
class Profile(AbstractUser):

        nickname =  models.CharField(_("Nick Name"), max_length=40, null=True, blank=True)
        flavor = models.CharField(max_length=2, verbose_name="Flavor")
        avatar = models.CharField(max_length=3, verbose_name="Avatar")
        send_newsletter = models.BooleanField(default=True, verbose_name="Send Newsletter")

Settings.py 我提到了新模型 AUTH_USER_MODEL = 'extended_profile.Profile'

现在当我访问合作伙伴模型时

>>> from forked_apps.partner.models import *
>>> p = Partner.objects.get(pk=1)
>>> p.users.all()

我收到以下错误。

ProgrammingError at /admin/partner/partner/add/
column partner_partner_users.profile_id does not exist
LINE 1: SELECT "partner_partner_users"."profile_id" FROM "partner_pa...
               ^
Request Method: POST
Request URL:    http://localhost:8000/admin/partner/partner/add/
Django Version: 1.8.3
Exception Type: ProgrammingError
Exception Value:    
column partner_partner_users.profile_id does not exist
LINE 1: SELECT "partner_partner_users"."profile_id" FROM "partner_pa...
               ^

合作伙伴模型有一个用户字段,该字段与配置文件模型具有多对多关系。

class Partner(models.Model):
        ....
        users = models.ManyToManyField(
        AUTH_USER_MODEL, related_name="partners",
        blank=True, verbose_name=_("Users"))

根据错误profile_id字段不存在。IdProfile 模型默认会有一个字段?为什么我会收到此错误?

4

0 回答 0