1

私の Django モデルでは、Batch というクラスに次の FK があります。

class Batch(models.Model):
    sender_name = models.ForeignKey(Originator,
                                        related_name='batch')

現在、これは、ユーザーが保存する前に常に最初にオリジネーターを作成する必要があることを意味します。ただし、オリジネーターが存在しない場合は、新しいものを作成してバッチに追加したいと思います。バッチの save() でこれを行うことを考えていました。しかし、より良い方法はありますか?

4

1 に答える 1

2

FKメソッドでオブジェクトを作成するviewか、tastypie の場合は hydrate を作成できます。

モデルのメソッドに FK オブジェクト作成ロジックを入れないことで、ロジックをsave混同しません。つまり、あるクラスのオブジェクトを別のクラスのsaveメソッドで作成することは避けてください。

そうすればロジックはきれいになり、あなたがしなければならないのはbundle.data['contact'] = Originator.objects.get_or_create()save

于 2013-06-12T14:56:22.060 に答える