1

User Model にフィールドを追加したいので、新しい app を作成して拡張しました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...
               ^

パートナー モデルには、プロファイル モデルと多対多の関係を持つ users フィールドがあります。

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

エラーフィールドによると、profile_id存在しません。プロファイル モデルには、Idデフォルトで ? フィールドがあります。このエラーが発生するのはなぜですか?

4

0 に答える 0