DJANGO如何将一个模型参数而不是它的url发送到.json

2024-09-30 14:15:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个Django初学者,我相信这是一个相当简单的问题,但我仍然找不到任何关于它的东西。提前谢谢

我正在尝试从“specie”模型中获取参数“nome”,以显示在.json文件中:

我的模特.py:

from django.db import models

class Zona(models.Model):
    codigo      = models.CharField(max_length=120)
    especies    = models.ForeignKey('Especie')

    def __str__(self):
        return self.codigo


class Especie(models.Model):
    nome       = models.CharField(max_length=120)
    zonas      = models.ForeignKey(Zona)

    def __str__(self):
        return self.nome

My serialisers.py(使用django rest框架):

class EspecieSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Especie
        fields = ('nome', 'nome_latino', 'zonas', 'id')
class ZonaSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Zona
        fields = ('codigo', 'area', 'especies', 'id')

视图.py:

from django.shortcuts import render
from species.models import Especie, Zona
from rest_framework import viewsets
from rest.serializers import ZonaSerializer, EspecieSerializer

class EspecieViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = Especie.objects.all().order_by('-data_insercao')
    serializer_class = EspecieSerializer

class ZonaViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows groups to be viewed or edited.
    """
    queryset = Zona.objects.all()
    serializer_class = ZonaSerializer

相反,我得到了这个“物种”的网址,你可以在这里看到:

"codigo": "A1",
        "area": "Alvalade",
        "especies": "http://127.0.0.1:8000/especies/1/",
        "id": 1

谢谢你


Tags: djangofrompyimportselfrestmodelsclass

热门问题