给出了两个主要模型:TransportOrder和通过TransportOrder消费者建立多对多关系的公司。我想实现以下目标
获取运输订单:
TransportOrder字段以及指向使用者的超链接列表都会列出。 我已经完成了这一点,通过以下关系对公司和序列化程序
consumers = models.ManyToManyField(Company, through = "TransportOrderConsumer")
class TransportOrderReadSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = TransportOrder
# fields = ('id', 'producer_system_code', 'status','producer', 'created_at')
fields = (
'id',
'producer',
'producer_system_code',
'status',
'producer',
'created_at',
'updated_at',
'consumers'
)
# read_only_fields = ('updated_at')
运输后订单: 在POST序列化程序中,我想嵌套TransportOrderConsumerSerializer,但将其称为“consumers”,以便get和POST调用之间保持一致
总结一下这个问题,是否可以在一个序列化程序中让使用者与公司对象相关,而在第二个(POST)中让使用者字段是transportordersummerserializer
您可以使用get_serializer_class为要使用的序列化程序打开请求类型
示例代码:
相关问题 更多 >
编程相关推荐