Relationship and Hyperlinked APIs | DRF

关联表字段/关联表信息查询(通过超链接的方式):

from rest_framework import serializers
from .models import Process, ProcessRun


class ProcessSerializer(serializers.ModelSerializer):
    """
    序列化流程类
    """

    class Meta:
        model = Process
        fields = "__all__"


class ProcessRunSerializer(serializers.ModelSerializer):
    """
    序列化步骤类
    """
    process_name = serializers.CharField(source="process.name")  # 设置关联表字段
    process = serializers.HyperlinkedIdentityField(  # 设置超链接字段 url,用以关联表信息查询,接口互通
        view_name="process-detail",  # urls.py中设置的别名
        lookup_field="process_id",  # 当前表中外键的字段(必须设置),不设置默认为该表的id
        lookup_url_kwarg="pk"  
    )
    class Meta:
        model = ProcessRun
        fields = '__all__'
url(r'^process_list/$', ProcessList.as_view(), name="process-list"),
url(r'^process_detail/(?P<pk>\d+)$', ProcessDetail.as_view(), name="process-detail"),
url(r'^process_run_list/$', ProcessRunList.as_view(), name="process-run-list"),
url(r'^process_run_detail/(?P<pk>\d+)$', ProcessRunDetail.as_view(), name="process-run-detail"),

猜你喜欢

转载自www.cnblogs.com/pymkl/p/10578673.html
DRF