创建模型对象后如何访问我的 post_save 信号中的 request.data

问题描述 投票:0回答:1

我想用文档创建项目

但是需要时间所以我想在创建项目后添加文档

但是我在请求正文中提供了与文档相关的详细信息

# Define the signal receiver function
@receiver(post_save, sender=Project)
def attach_documents_to_project(sender, instance, created, **kwargs):
    if created:
        attachments_data = instance.request.data.get('document')
python django django-rest-framework django-signals
1个回答
0
投票

。信号,就像模型被请求无意识一样。这是大多数模型-视图-视图模型 (MVVM) 架构的核心设计功能。事实上,甚至没有说存在“存在”请求。您还可以使用 管理命令 [Django-doc]来创建、更新或删除记录。 这些都是首先

使用信号[django-antipatterns]的原因。如果某个东西是面向请求的,那么它属于视图,而不是信号本质上驻留在模型层。您可以定义一个辅助函数,然后在要触发此逻辑的视图中调用该函数。


披露:我是该文章的作者。

© www.soinside.com 2019 - 2024. All rights reserved.