Django rest framework 在DRF中创建post请求时如何限制字段?

Django rest framework 在DRF中创建post请求时如何限制字段?,django-rest-framework,Django Rest Framework,我正在使用DRF制作一个POST api。在那个api中,我只需要几个字段名称、大小、客户名称、客户地址,但不需要这个字段status、ordered\u time,因为我想在运行时将这些字段保存为status='open'和ordered\u time=DateTimeField.now views.py models.py 序列化程序.py 但当我尝试创建订单时,它还需要状态和订购时间。但它应该在自动创建订单时保存。 建议一个好的方法 from rest_framework import v

我正在使用DRF制作一个POST api。在那个api中,我只需要几个字段名称、大小、客户名称、客户地址,但不需要这个字段status、ordered\u time,因为我想在运行时将这些字段保存为status='open'和ordered\u time=DateTimeField.now

views.py

models.py

序列化程序.py

但当我尝试创建订单时,它还需要状态和订购时间。但它应该在自动创建订单时保存。 建议一个好的方法

from rest_framework import viewsets, mixins


class PizzaViewsets(viewsets.ViewSet, mixins.CreateModelMixin):
    model = PizzaOrder
    serializer_class = OrderSerializer
    queryset = model.objects.all(

在序列化程序中,提及所有字段而不是 全部

class PizzaOrder(models.Model):
    name = models.CharField(max_length=120)
    size = models.CharField(max_length=10, choices=SIZE_CHOICE, default='MEDIUM')
    customer_name = models.CharField(max_length=120)
    customer_address = models.TextField()
    ordered_time = models.DateTimeField(default=timezone.now, editable=False)
    status = models.CharField(max_length=20, default='open', editable=False)
class OrderSerializer(serializers.ModelSerializer):
    class Meta:
        model = PizzaOrder
        # fields = '__all__'
        read_only_fields = ('status',)
from rest_framework import viewsets, mixins


class PizzaViewsets(viewsets.ViewSet, mixins.CreateModelMixin):
    model = PizzaOrder
    serializer_class = OrderSerializer
    queryset = model.objects.all(

class OrderSerializer(serializers.ModelSerializer):
    class Meta:
        model = PizzaOrder
        fields = ('status','ordered_time','name', 'size', 'customer_name', 'customer_address',)
        read_only_fields = ('status','ordered_time',)