2017-08-14 90 views
0

我現在的串行看起來像這樣:獲取「最新」字段中集Django的REST框架序列化

class BareboneEntitySerializer(serializers.ModelSerializer): 
    class Meta: 
     model = Entity 
     fields = (
      'id', 'label', 'related_yid_count', 'description', 
     ) 

有一組:entityclassification_set現在,在我的其他串行我有像這樣:

entityclassification_set = EntityClassificationSerializer(many=True) 

但一段時間後,我意識到我只需要在設置了「最新」或最後一個元素,我怎麼能這個字段添加到串行?增加一個屬性是唯一的方法去做這件事?還是有另一種方法來做到這一點?

現在我能做到這一點

@property 
def classification(self): 
    return EntityClassification.objects.filter(entity=self).latest() 

但是,這是做到這一點的唯一途徑?

回答

-1
entities = Entity.objects.order_by('-id')[:5] 
entityclassification_set = EntityClassificationSerializer(entities, many=True) 
+0

不幸的是,這不是我所需要的。我需要爲每個實體最新的EntityClassification,而不是最後5個實體的所有EntityClassification。 –

相關問題