【发布时间】:2017-07-09 19:53:48
【问题描述】:
我想做以下事情:
models.py
class MyModel(TimeStampedModel, models.Model):
name = models.CharField(max_length=100)
owner = models.ForeignKey(settings.AUTH_USER_MODEL)
序列化器.py
class MyModelSerializerCreate(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = (
'name',
)
我想将request.user 中的当前用户添加为所有者。
目前我通过用户更新 request.data 直接在我的视图中添加它,然后将更新的数据传递给我的序列化程序。
data = request.data
# Add owner to data
data["owner"] = request.user.pk
serializer = self.get_serializer(data=data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
我想直接在我的序列化程序中执行此操作,但找不到正确执行此操作的方法,因为它对我来说像是数据验证。这是一个好主意吗 ?我应该将此逻辑保留在我的视图中还是将其移至我的序列化程序?
【问题讨论】:
标签: django serialization django-rest-framework