gpt4 book ai didi

python - 重写_create类方法

转载 作者:太空宇宙 更新时间:2023-11-03 15:06:36 25 4
gpt4 key购买 nike

我正在使用 django,并且有一个自定义方法来创建特定模型的新对象:

class DiseaseFactory(factory.django.DjangoModelFactory):

class Meta:
model = models.Disease

def _create(cls, model_class, *args, **kwargs):
obj = model_class.create_new(first_name=f"Disease{uuid.uuid4()}")
return obj

当我尝试使用DiseaseFactory.create()创建DiseaseFactory的实例时,它会抛出错误:

TypeError: _create() missing 1 required positional argument: 'model_class'

我做错了什么?

最佳答案

为了使其工作,您需要添加 @classmethod 装饰器,如下所示:

class DiseaseFactory(factory.django.DjangoModelFactory):

class Meta:
model = models.Disease

@classmethod
def _create(cls, model_class, *args, **kwargs):
obj = model_class.create_new(first_name=f"Disease{uuid.uuid4()}")
return obj

关于python - 重写_create类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44600949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com