Pyfactoryboy: So wählen Sie die Factory-Klasse in „SubFactory“ dynamisch ausPython

Python-Programme
Guest
 Pyfactoryboy: So wählen Sie die Factory-Klasse in „SubFactory“ dynamisch aus

Post by Guest »

Ich möchte in der Lage sein, die Factory-Klasse in SubFactory dynamisch basierend auf den bereitgestellten Parametern zu ändern.
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*)
Ich sollte die Fabrik so aufrufen können:

Code: Select all

ProjectWithOwnerFactory() # creates project with regular user as owner

ProjectWithOwnerFactory(admin_owner=True) # creates project with admin as owner
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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post