【问题标题】:Django follow primary key JSONDjango 遵循主键 JSON
【发布时间】:2017-08-26 23:52:42
【问题描述】:

我对 Django 比较陌生,但我试图返回以下数据模型的完整 JSON 文档。

class Wheels(models.Model):
   w_name = models.CharField(max_length=255)
   w_weight = models.IntegerField(default=200)
   w_size = models.CharField(max_length=200)
   w_durability = models.IntegerField(default=45)

   def __str__(self):
    return self.w_name

class Chassis(models.Model):
    c_owner = models.CharField(max_length=255)
    c_year = models.IntegerField(default=1900)
    c_model = models.CharField(max_length=255)
    c_wheels = models.ForeignKey(Wheels)
    c_weight = models.IntegerField(default=20)

    def __str__(self):
      return self.c_model`

现在代码只返回:

{
"id": 1,
"c_owner": "Mike",
"c_year": 1969,
"c_model": "Chevy",
"c_weight": 3500,
"c_wheels": 1
}

但不是 1 代表轮子,我希望它遵循轮子表

观看次数:

class ChassisList(ModelViewSet):
   queryset = Chassis.objects.all()
   serializer_class = ChassisSerializer


class WheelsList(ModelViewSet):
   queryset = Wheels.objects.all()
   serializer_class = WheelSerializer

序列化器:

class WheelSerializer(serializers.ModelSerializer):
   class Meta:
    model = Wheels
    fields = ('__all__')

class ChassisSerializer(serializers.ModelSerializer):
   class Meta:
    model = Chassis
    fields = ('__all__')

【问题讨论】:

标签: python json django


【解决方案1】:

简单的解决方案:

class ChassisSerializer(serializers.ModelSerializer):
   class Meta:
    model = Chassis
    fields = ('__all__')
    depth = 1

【讨论】:

  • 感谢塞尔格!我喜欢那种解决方案:)
猜你喜欢
  • 1970-01-01
  • 2010-11-16
  • 2012-10-15
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-07
相关资源
最近更新 更多