Смешайте две модели в одной конечной точке в DRF - PullRequest
0 голосов
/ 09 июня 2018

Я изучаю 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 голосов
/ 09 июня 2018

Вы можете получить доступ к ревизии автомобиля по атрибуту revision_set.Поэтому вам нужно добавить поле revision_set к автомобильному сериализатору:

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

Примечание, чтобы получить детали ревизии вместо простого списка идентификаторов, вы можете использовать мета-опцию depth.

...