[英]How to serialize related models in Django Rest API?
我已经尝试了所有解决方案。 仍然无法解决。 这是代码。
models.py
class Car(models.Model):
car_name = models.CharField(max_length=250)
car_description = models.CharField(max_length=250)
def __str__(self):
return self.car_name + ' - ' + str(self.pk)
class Owners(models.Model):
car = models.ForeignKey(Car, on_delete=models.CASCADE, default=0)
owner_name = models.CharField(max_length=250)
owner_desc = models.CharField(max_length=250)
def get_absolute_url(self):
return reverse('appname:index')
def __str__(self):
return self.owner_name + ' - ' + self.owner_desc
serializers.py
class OwnersSerializer(serializers.ModelSerializer):
class Meta:
model = Owners
fields = '__all__'
class CarSerializer(serializers.ModelSerializer):
owners = OwnersSerializer(many=True, read_only=True)
class Meta:
model = Car
fields = '__all__'
views.py
class CarList(APIView):
def get(self, request):
cars = Car.objects.all()
serializer = CarSerializer(cars, many=True)
return Response(serializer.data)
def post(self):
pass
我无法查看与“汽车”类的某个对象相关的所有“所有者”对象。
您需要在ForeignKey上定义一个相关名称以创建反向引用。
class Owners(models.Model):
car = models.ForeignKey(Car, on_delete=models.CASCADE, default=0, related_name='owners')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.