排除序列化程序字段并将值设置为request.user

时间:2015-11-05 12:23:12

标签: django django-rest-framework

如何排除window.location.href = '<?php echo base_url('controller/method'); ?>' 字段并将此字段的值设置为request.user?(在user

models.py

create()

serializers.py

class Item(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=255)

views.py

class ItemSerializer(serializers.ModelSerializer):

    class Meta:
        model = Item
        #exclude = ['user']

1 个答案:

答案 0 :(得分:0)

从序列化程序中排除用户(将其设置为只读)并覆盖ViewSet的{​​{1}}:

perform_create

def perform_create(self, serializer): serializer.save(user=self.request.user) 将被添加到序列化程序的validated_data中,该数据将从您的模型中添加到用户字段。

编辑: 我刚刚意识到你可能希望用户字段是只读的,这也应该没问题