添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
class PersonGoals(models.Model): name = models.CharField(max_length=100, verbose_name="目标名称") desc = models.CharField(max_length=200, verbose_name="说明") status = models.IntegerField() class Meta: db_table = "person_goals" def __str__(self): return self.name class KeyResult(models.Model): name = models.CharField(max_length=100, verbose_name="结果名称") desc = models.CharField(max_length=200, verbose_name="结果说明") status = models.IntegerField() person = models.ForeignKey(to=PersonGoals, on_delete=None, related_name="result") class Meta: db_table = "key_result" def __str__(self): return self.name
# serialize.py
from rest_framework import serializers
from apple.models import PersonGoals, KeyResult
class KeyResultSerialize(serializers.ModelSerializer):
    class Meta:
        model = KeyResult
        fields = "__all__"
class PersonSerialize(serializers.ModelSerializer):
    result = KeyResultSerialize(many=True)  # 这里的result是ForeignKey中的related_name
    class Meta:
        model = PersonGoals
        fields = "__all__"
# views.py
from rest_framework.response import Response
from rest_framework.views import APIView
from apple.serializer import PersonSerialize, KeyResultSerialize
from apple.models import PersonGoals, KeyResult
class PersonView(APIView):
    def get(self, request):
        serialize = PersonSerialize(PersonGoals.objects.all(), many=True)
        return Response(serialize.data)
class KeyResultView(APIView):
    def get(self, request):
        serialize = KeyResultSerialize(KeyResult.objects.all(), many=True)
        return Response(serialize.data)
# urls.py
from django.urls import path
from apple import views
from rest_framework.urlpatterns import format_suffix_patterns
urlpatterns = [
    path("person/", views.PersonView.as_view(), name="person"),
    path("result/", views.KeyResultView.as_view(), name="result")
urlpatterns = format_suffix_patterns(urlpatterns)

访问接口 http://127.0.0.1:8000/person/

HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
        "id": 1,
        "result": [
                "id": 1,
                "name": "学习多层接口处理方法",
                "desc": "使用1对多时的处理方法",
                "status": 1,
                "person": 1
                "id": 2,
                "name": "学习多层接口处理方法二",
                "desc": "不使用1对多处理",
                "status": 1,
                "person": 1
        "name": "rest_framwork深度学习",
        "desc": "深入学习rest_framwork的api使用",
        "status": 1