扩展用户模型Django Oscar?

时间:2015-09-03 09:17:10

标签: python django django-oscar

我想在用户模型中添加字段,因此我通过制作新的应用extended_profile来扩展它。 我的Models.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字段不存在。配置文件模型默认会有Id字段?为什么我会收到此错误?

0 个答案:

没有答案
相关问题