【问题标题】:Accessing Grandparent data from Child view从子视图访问祖父母数据
【发布时间】:2019-05-07 09:53:59
【问题描述】:

我的 Django 模型如下:

class Grandparent(model.Models):
    grandparent_name = models.CharField(max_length="100")
    grandparent_age  = models.IntegerField(default=10)

class Parent(model.Models):
    parent  = ForeignKey(Grandparent,default=1)
    parent_name = models.CharField(max_length="100")

class Child(model.Models):
    parent = ForeignKey(Parent,default=1)
    child_name = models.CharField(max_length="100")

我想从子模型访问祖父母信息。我如何使用 Django Rest 框架来做到这一点。我想要的输出是:对于给定的孩子,也将其父母和祖父母的信息作为响应发送。

【问题讨论】:

    标签: django python-3.x django-models django-rest-framework django-views


    【解决方案1】:
    Use serializer in this way...
    
    class GrandparentSerializer(serializers.ModelSerializer):
    
         class Meta:
            model = Grandparent
            fields = ('__all__')
    
    
    class ParentSerializer(serializers.ModelSerializer):
         parent = GrandparentSerializer()
    
         class Meta:
            model = Parent
            fields = ('__all__')
    
    class ChildSerializer(serializers.ModelSerializer):
       parent = ParentSerializer()
         class Meta:
            model = Child
            fields = ('__all__')
    
    Or provide depth =2 in child serializer to access all Foreign key details .
    

    参考链接:https://www.django-rest-framework.org/api-guide/serializers/#specifying-nested-serialization

    class ChildSerializer(serializers.ModelSerializer):
         class Meta:
            model = Child
            fields = ('__all__')
            depth = 2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-26
      • 1970-01-01
      • 2013-10-24
      • 1970-01-01
      • 2021-01-11
      • 2011-12-04
      • 2014-01-24
      • 2015-03-25
      相关资源
      最近更新 更多