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