저는 장고를 처음 사용합니다. 을 사용하여 User
의 groups
필드를 설정하려고합니다. 기본 User
클래스의 필드는 _groups
입니다. 나는 그것을 세우려고했지만 도움이 안된다. Group
이후factory_boy를 사용하여 사용자 그룹을 설정하는 방법
class GroupFactory(factory.django.DjangoModelFactory):
class Meta:
model = Group
name = Sequence(lambda n: "group_{0}".format(n))
class UserFactory(factory.django.DjangoModelFactory):
class Meta:
model = User
username = factory.Sequence(lambda n: "user_{0}".format(n))
password = "test"
first_name = u'ßhamra'
last_name = u'ßhamra'
_groups = factory.SubFactory(GroupFactory)
@classmethod
def _create(cls, model_class, *args, **kwargs):
"""
Override the default ``_create`` with our custom call.
Due to internal behavior or create user create method that forces is_staff kwarg
"""
g = GroupFactory("abc")
manager = cls._get_manager(model_class)
is_staff = kwargs.pop('is_staff', None)
user = manager.create_user(*args, **kwargs)
if is_staff:
user.is_staff = is_staff
user.save()
return user
Xelnor : 나는 Users' 모델'에 명시 적으로'groups' 필드를 정의하지 않았습니다. ''groups '는이 함수의 무효 키워드 인수입니다. '. 나는 아주 오래 동안 이것에 갇혀 있었다. – Shubham