Заводской мальчик RecursionError: превышена максимальная глубина рекурсии
У меня есть 2 модели, django User model и Employee
class Employee(TimeStampedModel): creator = models.ForeignKey(User, on_delete=models.CASCADE, related_name="employees") first_name = models.CharField(max_length=255, blank=True) last_name = models.CharField(max_length=255, blank=True) phone = models.CharField(validators=[phone_regex], max_length=17, blank=True) email = models.EmailField(validators=[email_regex], max_length=255, blank=True) user = models.OneToOneField(User, on_delete=models.SET_NULL, null=True, related_name="employee")
2 фабрики:
class UserFactory(factory.django.DjangoModelFactory):
class Meta:
model = User
employee = factory.RelatedFactory(
"control_room.tests.factories.EmployeeFactory",
factory_related_name='user'
)
first_name = fake.first_name()
last_name = fake.last_name()
username = factory.Sequence(lambda n: "user_%d" % n)
email = fake.ascii_email()
class EmployeeFactory(factory.django.DjangoModelFactory):
class Meta:
model = Employee
creator = factory.SubFactory(UserFactory)
first_name = fake.first_name()
last_name = fake.last_name()
phone = "+88005553535"
email = fake.ascii_email()
user = factory.SubFactory(UserFactory)
поэтому модель Employee имеет 2 отношения к модели User (ForeignKey - создатель и OneToOneField - пользователь)
когда я создаю модели Factory boy, я получаю: RecursionError: превышена максимальная глубина рекурсии
Как мне избежать этой ошибки?