1
我們如何在ModelViewSet
中編寫函數來獲取數據庫中不同記錄的列表?如何在視圖中獲取自定義列表
假設我們有這個模型。
class Animal(models.Model):
this_id = models.CharField(max_length=25)
name = models.CharField(max_length=25)
species_type = models.CharField(max_length=25)
...
和串行
class AnimalSerializer(serializers.ModelSerializer):
class Meta:
model = Animal
fields = (
'this_id',
'name',
'species_type',
...,
)
read_only_fields = ('id', 'created_at', 'updated_at')
和視圖集。
class AnimalViewSet(viewsets.ModelViewSet):
"""
This viewset automatically provides `list`, `create`, `retrieve`,
`update` and `destroy` actions.
"""
queryset = Animal.objects.all()
serializer_class = AnimalSerializer
我發現這個link有用的,例如像裝飾
@list_route()
但我無法理解這一點很好。
我想從ViewSet中獲取不同Animal.species_type
記錄的列表。請幫忙。
這不是我的意思是,先生是什麼,我想調用一個函數通過viewset獲取數據庫中所有不同的species_type記錄。這意味着我不會對特定的species_type提出請求。 –
所以你只想要種類?我編輯了我的答案 – Dap
這意味着我們可以在另一個序列化類中定義它?聽起來不錯,我喜歡關於'url_path'的想法。 –