私は、保存時に外部サービスでアカウントの作成をトリガーするdjangoモデルを持っています(djangoとはまったく関係ありません)。ただし、テストのために、このアカウントの作成を抑制したいと思います。マネージャーの save() メソッドをオーバーライドしてそこから kwarg をポップするか、非データベース フィールド プロパティをDjango モデルの非データベース フィールドに従ってモデルに追加し、それを save メソッドで確認することができます。
ただし、factoryboy を使用してオブジェクトを作成しようとすると、モデル内の実際のフィールドをチェックしているように見えますが、プロパティがフィールドではないためにクラッシュします。
class MyModel(models.Model):
name = models.CharField()
create_external_account = True
def save(self, *args, **kwargs):
if create_external_account:
...
class MyModelFactory(factory.django.DjangoModelFactory):
class Meta:
model = MyModel
name = factory.Sequence(lambda n: 'name%d' % n)
create_external_account = False
factoryboy を介してこのような追加のパラメーターを渡す方法について何か考えはありますか?