title: django rest framework relation field
body: <p>I have models as below:</p>
  
  <pre><code>class Bus(models.Model):
      bid = models.CharField(_("Bus unique id"), max_length=45)
      plate_number = models.CharField(_("Plate number"), max_length=45)
  
  class BusData(models.Model):
      bus = models.ForeignKey(Bus, on_delete=models.CASCADE)
      timestamp = models.DateTimeField()
      speed = models.IntegerField(_("Speed"), null=True, blank=True)
  </code></pre>
  
  <p>I want to retrieve the bus object with the busdata together, thus I use below serializer classes.</p>
  
  <pre><code>class BusSerializer(serializers.ModelSerializer):
      class Meta:
          model = Bus
          fields = ('bid', 'plate_number', 'busdata_set')
  
  class BusDataSerializer(serializers.ModelSerializer):
      class Meta:
          model = BusData
  </code></pre>
  
  <p>So far, the BusSerializer output looks like this:</p>
  
  <pre><code>In [8]: bus1 = Bus.objects.create(bid='1',plate_number='X101')
  
  In [10]: from django.utils import timezone
  
  In [15]: bus_data1 = BusData.objects.create(bus=bus1,timestamp=timezone.now(),speed=100)
  
  In [18]: bus_data2 = BusData.objects.create(bus=bus1,timestamp=timezone.now(),speed=200)
  
  In [20]: bus_s = BusSerializer(bus1)
  
  In [21]: bus_s.data
  Out[21]: 
  OrderedDict([('bid', u'1'),
               ('plate_number', u'X101'),
               ('busdata_set', [10, 11])])
  </code></pre>
  
  <p>As you can see, the busdatas associated with this bus are already taken in busdata_set fields.</p>
  
  <p>However, what I want here is just get the latest busdata record to return (sort by the timestamp field desc, and return the first record), not all the busdata record. 
  Something looks like this, </p>
  
  <pre><code>OrderedDict([('bid', u'1'),
               ('plate_number', u'X101'),
               ('busdata', 11)])
  </code></pre>
  
  <p>I've no idea how to achieve this.
  Any thoughts and code snippets would be appreciate.
  Thanks so much!</p>