나는 자습서 수준의 지식을 넘어서 AbstractBaseUser 메타 클래스를 확장하여 내 자신의 사용자 클래스를 만들려고 노력하고 있지만 실제로이 유형과 상호 작용하는 방법을 보여주는 예제를 찾는 데 어려움을 겪고 있습니다. API를 통해 모델의 내가 쉘을 통해 상호 작용하는 것을 시도하고있다django AbstractBaseUser 클래스의 올바른 사용
from __future__ import unicode_literals
from django.db import models
from django.utils.translation import ugettext as _
class Country(models.Model):
iso3166 = models.CharField(_("country ISO 3166"), max_length=3, default="840", primary_key=True)
name = models.CharField(_("country name"), max_length=40, default="USA")
def __unicode__(self):
return self.name
class MyUser(AbstractBaseUser):
postal_code = models.CharField(_("zip code"), max_length=5, blank=True, default='')
country = models.ForeignKey(Country)REQUIRED_FIELDS = ['country']
그리고 여기에 : 여기 내 모델의 내가 g을 정의 라인까지 잘 작동
from myapp.models import MyUser, Country
from django.utils.translation import ugettext as _
c = Country(iso3166="840",name=_("United States of America"))
c.save()
q = Country.objects.get(iso3166="840")
g = MyUser(username="bob",password="pass1",first_name="Robert",last_name="Smith",email="[email protected]",country=q)
, 어디서 오류가 발생합니다 :
TypeError: 'username' is an invalid keyword argument for this function
오류가 무엇인지 알 수는 있지만 신경 쓰지 않아도되지만 올바른 구문이 새로운 MyUser 개체를 만드는 데 어떤 것인지 확실하지 않습니다.