Pyfactoryboy: So wählen Sie die Factory-Klasse in „SubFactory“ dynamisch aus
Posted: 03 Jan 2025, 11:40
Ich möchte in der Lage sein, die Factory-Klasse in SubFactory dynamisch basierend auf den bereitgestellten Parametern zu ändern.
Betrachten Sie diesen Fall:
Ich sollte die Fabrik so aufrufen können:
Ich habe den Ansatz mit SelfAttribute und LazyAttribute ausprobiert, aber da Factory eine Klasse (Instanz eines Typs) oder ein String-Pfad sein muss, schlägt der Code fehl .
Vielen Dank für Ihre Antworten im Voraus.
Betrachten Sie diesen Fall:
Code: Select all
BASIC_USER_FACTORY = *path to basic user factory*
ADMIN_USER_FACTORY = *path to admin factory*
class ProjectWithOwnerFactory(DjangoModelFactory):
class Params:
admin_owner = False
name = ...
date_created = ...
owner = SubFactory(*choose factory based on `admin_owner` param*)
Code: Select all
ProjectWithOwnerFactory() # creates project with regular user as owner
ProjectWithOwnerFactory(admin_owner=True) # creates project with admin as owner
Vielen Dank für Ihre Antworten im Voraus.