Невозможно создать экземпляры абстрактной фабрики UserFactory ( Factory boy)

factory.errors.FactoryError: Cannot generate instances of abstract factory UserFactory; Убедитесь, что UserFactory.Meta.model установлен, а UserFactory.Meta.abstract либо не установлен, либо False. Я использую библиотеку factory boy Для тестирования моих функций

мой класс UserFactory здесь

введите описание изображения здесь

Здесь Модель пользователя я наследую от класса абстрактный пользователь введите описание изображения здесь

Я добавил класс meta abstract и все равно не работает

Я добавил класс meta abstract и все равно не работает

Сообщение об ошибке говорит само за себя: factory_boy позволит вам инстанцироваться из фабрики, только если эта фабрика имеет Meta.model и не помечена Meta.abstract = True.

Обычно используется:

class MyFactory(...):
  class Meta:
    model = SomeModel

В продвинутых случаях, некоторые проекты могут иметь абстрактные фабрики; в этом случае абстрактность должна быть отключена:

class SomeAbstractFactory(...):
  class Meta:
    model = MyModel
    abstract = True

class MyFactory(SomeAbstractFactory):
  class Meta:
    abstract = False

В вашем примере кода вы написали model: User вместо model = User; это можно легко исправить с помощью:

class UserFactory(factory.django.DjangoModelFactory):
  class Meta:
    model = User
    # (No "abstract = " clause)
Вернуться на верх