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
私は、このような
@list_route()
などのデコレータとしてこのlinkが有用であることが分かったが、私はよくそれを理解することはできません。
私は別のAnimal.species_type
レコードのリストをビューセットから取得したいと考えています。助けてください。
を採用することができ、私は関数を呼び出すしたいと思います私のデータベースにviewsetを介してすべてのdistinct_type_typeレコードを取得します。それは私が特定のspecies_typeを要求しないことを意味します。 –
なので種だけでいいの?私は答えを編集しました – Dap
それは、別のシリアライザクラスで定義できるということですか?素晴らしいと私は 'url_path'についてのアイデアが好きです。 –