在Django中对嵌套的序列化程序对象进行排序

时间:2017-07-31 06:54:28

标签: python django serialization django-rest-framework

我有2个序列化程序,其中一个包含带有steps的嵌套Serializer。我想按service_idordering=("service_id")字段进行排序。将steps包含在StepSerializer中没有帮助。如何在嵌套的Serializer中执行class StepSerializer(serializers.ModelSerializer): class Meta: model = Step fields = ("pk", "service_id", "create_date", "update_date",) class LessonSerializer(serializers.ModelSerializer): steps = StepSerializer(many=True) class Meta: model = Lesson fields = ("pk", "service_id", "create_date","steps_count", "steps") 排序?

class Lesson(models.Model):
 service_id = models.IntegerField(unique=True)
 create_date = models.DateTimeField(auto_now_add=True)
 update_date = models.DateTimeField(auto_now=True)
 steps_count = models.IntegerField(default=0)

class Step(models.Model):
 service_id = models.IntegerField()
 create_date = models.DateTimeField(auto_now_add=True)
 update_date = models.DateTimeField(auto_now=True)
 lesson = models.ForeignKey(Lesson, on_delete=models.PROTECT, related_name="steps")

型号:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.014/cXML.dtd">
<cXML timestamp="<%= @timestamp %>" payloadID="<%= @payload_id %>">
  <Response>
    <Status code="200" text="success"></Status>
    <PunchOutSetupResponse>
      <StartPage>
        <URL><%= @start_url %></URL>
      </StartPage>
    </PunchOutSetupResponse>
  </Response>
</cXML>

0 个答案:

没有答案