次のbulk_create
クエリを参照してください。
objs = [
Message(
recipient_number=e.mobile,
content=content,
sender=e.contact_owner,
billee=user,
sender_name=sender,
gateway=gateway,
)
for e in query
]
# Send messages to DB
Message.objects.bulk_create(objs)
私の問題:
(パフォーマンス上の理由から) bulk_create を使用する必要があります。instance.send(gateway)
ただし、作成されたすべてのオブジェクトを呼び出す必要があります。
post_save
バルク作成を使用すると、PKがシグナルに必ずしも利用可能であるとは限らないため、これが機能しないことを意味するため、私はそれを行うことができないようです....
@receiver(post_save, sender=Message)
def my_post_save_handler(sender, instance, **kwargs):
instance.send(instance.gateway)
post_save.connect(my_post_save_handler, sender=Message)
だから私はこのような他のいくつかのことを試しました....
objs = [
Message(
etc...
).send(gateway)
for e in query
]
繰り返しますが、これは機能しません。
この問題は私を少し怒らせています。それは非常に単純なので、例にはどのようなオプションがありますか?
何百万ものオブジェクトを挿入しているので、create を使用するつもりはありません。bulk_create を使用する必要があります。
ありがとうございました。:)