Django, Factory boy - не удается создать подфабрику
Я создал три фабрики, где User и Profile связаны как одно поле, также Label является подфабрикой Profile.
import factory
from users.models import User, Label, Profile
from .models import Release
import random
from django.db.models.signals import post_save
@factory.django.mute_signals(post_save)
class ProfileFactory(factory.django.DjangoModelFactory):
class Meta:
model = Profile
user = factory.SubFactory("releases.factories.UserFactory", profile=None)
@factory.django.mute_signals(post_save)
class UserFactory(factory.django.DjangoModelFactory):
class Meta:
model = User
email = factory.Faker("email")
password = factory.Faker("password")
profile = factory.RelatedFactory(ProfileFactory, factory_related_name='user')
class LabelFactory(factory.django.DjangoModelFactory):
profile = factory.SubFactory(ProfileFactory)
name = factory.Faker("name")
class Meta:
model = Label
но когда я пытаюсь создать метку (LabelFactory.create()), она выдает ошибку
RelatedObjectDoesNotExist: User has no profile.
Что не так? Пожалуйста, помогите!
Я решил проблему для создания ярлыка сначала нужно создать профиль
profile = ProfileFactory.create()
и затем создайте метку следующим образом
label = LabelFactory(profile=profile)
если вы хотите создать фабрику, связанную с обоими
release = ReleaseFactory(profile=profile, label=label)