restframework 你们会把额外逻辑放 view 还是 serializer 还是 model 里?
举个例子,两个 model ,一个 product ,一个 log 。 逻辑是用户添加 product ,成功以后向 log 表添加一条日志。
添加日志这个操作放在哪里比较好?
class Product(models.Model):
...
def save(self, *args, **kwargs):
Log.objects.create(...)
super().save(...)
或者
class ProductSerializer(serializers.ModelSerializer):
...
def save(self, **kwargs):
...
Log.objects.create(...)
或者
class ProductTrain(generics.CreateAPIView):
serializer_class = serializers.ProductSerializer
...
def perform_create(self, serializer):
serializer.save(...)
Log.objects.create(...)
同样,如果用 Django 原生的 form ,也有这个问题。。。求一个好的设计模式?