0
내 user_profile/model.py에 대한 단위 테스트를 실행할 때 오류가 발생합니다. "1"을 (를) 할당 할 수 없습니다 : "User.group"은 "브랜드"인스턴스 여야합니다. "단위 테스트를위한 Django 팩토리 : "1"을 할당 할 수 없습니다 : "User.group"은 "Brand"인스턴스 여야합니다. "
은 내가 UserFactory()의 인스턴스를 생성하고있을 때 내 단위 테스트 (factories.py
) 내 공장에서, 내가 제대로 그룹을 할당하고 있지 않다, 때문에이 오류가 믿습니다. I 그룹이 브랜드 클래스/공장에 매핑해야합니다 것은 그러나 나는이 작업을 수행하는 방법을 잘 모르겠어요 ..이
내 user_profile/model.py
:
class Brand(models.Model):
name = models.CharField(max_length=20)
def __unicode__(self):
return self.name
class User(AbstractBaseUser, PermissionsMixin):
username = models.CharField(
'username',
max_length=50,
unique=True,
db_index=True
)
email = models.EmailField('email address', unique=True)
group = models.ForeignKey(Brand, null=True, blank=True)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
is_approved = models.BooleanField(default=True)
와의
내user_profile/test/factories.py
:
from user_profile.models import User, Brand
class UserFactory(factory.django.DjangoModelFactory):
class Meta:
model = User
django_get_or_create = (
'username',
'email',
'password',
'is_approved',
'is_active',
'is_staff',
'is_admin',
'group'
)
class BrandFactory(factory.django.DjangoModelFactory):
class Meta:
model = Brand
django_get_or_create = ('name',)
BrandFactory(name='BRAND1')
BrandFactory(name='BRAND2')
BrandFactory(name='BRAND3')
BrandFactory(name='BRAND4')
UserFactory(
username='[email protected]',
email='[email protected]',
password=12345,
is_approved=True,
is_active=True,
is_staff=True,
is_admin=True,
group="1" <--- HOW DO I MAP THIS TO THE 'BRAND1' FACTORY/CLASS?!
)
UserFactory(
username='[email protected]',
email='[email protected]',
password=12345,
is_approved=True,
is_active=True,
is_staff=True,
is_admin=True,
group="2" <--- HOW DO I MAP THIS TO THE 'BRAND2' FACTORY/CLASS?!
)