-1

問題があります:

私のアプリには3つのモデルが存在します:

class Cliente(models.Model):
    #fields here ...

class Imovel(models.Model):
    #more fields and..
    dono = models.ForeignKey(Cliente)

class Captacao(models.Model):
    #here, have the fields of others models (Cliente and Imovel)

モデル「Captacao」を介してモデル「Cliente」と「Imovel」を入力したい...私はそこにpost_saveがあることを知っていますが、これを行う方法がわかりません。これらのフィールドをそれぞれのモデルに保存します。

ありがとう、

4

1 に答える 1

1

Cliente をまだ持っていない場合は、Imovel データを使用して作成できます。

def save_in_other_models(sender, instance, created, **kwargs):
    cliente = Cliente.objects.create(
        name=instance.name,
        ident=instance.ident,
    )
    Imovel.objects.create(
        dono=cliente
    )

models.signals.post_save.connect(save_in_other_models, sender=Captacao)

---------------- ** ---------------- ** -------------- -- ** ---------------- ** ---------------- ** ---------- ------ ** ----------

Captacao との関係に Cliente インスタンスが既にある場合:

** これにより、Imovel との Cliente 関係を使用して新しい Imovel が作成されます

def save_in_other_models(sender, instance, created, **kwargs):
    Imovel.objects.create(
        dono=instance.cliente
    )

models.signals.post_save.connect(save_in_other_models, sender=Captacao)
于 2013-04-01T13:55:51.613 に答える