将两个模型混合到DRF中的相同端点

时间:2018-06-09 14:35:21

标签: django django-rest-framework

我正在学习DRF,我想知道我可以通过外键将两个模型链接到一个特定端点。

例如,假设我有两个模型:

Model1:
class Car(models.Model):
    Name = models.CharField(max_length=500, null=True, blank=True)
    Year = models.CharField(max_length=500, null=True, blank=True)

Model2:
Class Revision(models.Model):
    revision1 = models.CharField(max_length=500, null=True, blank=True)
    revision2 = models.CharField(max_length=500, null=True, blank=True)
    car_is = models.ForeignKey(
    Car, on_delete=models.CASCADE, null=True, blank=True)

我想要实现的目标是获取url:“/ car / 1”(汽车数据)具有修订版的特定汽车的数据。

我正在使用DRF的基于班级的视图

1 个答案:

答案 0 :(得分:1)

您可以按revision_set属性访问汽车的修订版。因此,您需要将revision_set字段添加到汽车序列化程序:

class CarSerializer(serializers.ModelSerializer):
    class Meta:
        model = Car
        fields = ('Name', 'Year', 'revision_set')
        depth = 1

请注意,要获取修订详细信息而不是简单ID列表,您可以使用depth元选项。