2017-11-30 13 views
0

私はWorkOrderCreateAPIViewとWorkOrderCreateSerializerを持っている:すぐにデータをデータベースに保存した後に、何かすることができますか?

# views 
class WorkOrderCreateAPIView(CreateAPIView): 
    serializer_class = WorkOrderCreateSerializer 
    permission_classes = [] 
    queryset = WorkOrder.objects.all() 

# serializers 
class WorkOrderCreateSerializer(ModelSerializer): 
    """ 
    Create the work order 
    """ 
    class Meta: 
     model = WorkOrder 
     exclude = ("workorder_num","to_group","user", "workorder_status") 

    def create(self, validated_data): 

     user = getUserFormSerializer(self) 
     to_group = Group.objects.filter(name=ADMIN_GROUP_CHOICES.售后组).first() 

     return WorkOrder.objects.create(
      user=user, 
      workorder_num = generateWorkorderNum(userid=user.id), 
      to_group=to_group, 
      workorder_status = WORKORDER_STATUS_CHOICES.已提交, 
      **validated_data, 
     ) 

私は仕事の順序を作成するWorkOrderCreateAPIViewにアクセスすることができますが、私はすぐにWorkOrderはインスタンスを保存した後、いくつかのものをしたいです。

create(self, validated_data)メソッドでは、最後の行はreturn WorkOrder.objects.create(xxx)です。データを保存しないので、シリアライザまたはビューの保存時にどのように知ることができますか?データをデータベースに保存した後、私は電子メールを送るなど、すぐに他のことをしたい。

答えて

0

signalsを使用できますが、それは唯一の方法ではないと思います。

関連する問題