我在这上面绊了好几天,但无法正常工作。我有一个样板酒店,其中有对Trip模型的一对多引用:
models.py
class Hotel(models.Model):
# Relate the hotel service to its Trip
trip = models.ForeignKey(Trip, related_name='hotels', on_delete=models.CASCADE, blank=True, null=True)
name = models.CharField(max_length=100)
class Trip(models.Model):
title = models.CharField(max_length=300, unique=True, help_text="The name of the trip",)
def __str__(self):
return '%s' % (self.title)
这意味着每次旅行都应包含酒店列表,并且每个酒店应仅属于一次旅行。我在酒店对象中使用“酒店”作为相关名称,这意味着旅行对象应自动具有属性“酒店”。现在,我试图将所有带有相应属性的旅程带到前端:
views.py
class TripList(generics.ListAPIView):
"""
A list of all trips, read-only
"""
# queryset = Trip.objects.all()
serializer_class = TripSerializer
queryset = Trip.objects.all()
我能够使用Django模板引擎按给定行程获取酒店,但我对前端使用了React,并且在ListApiView中,行程对象中缺少hotels属性。如何获取ListApiView中的数据?
答案 0 :(得分:0)
好的,问题似乎出在数据序列化上。我正在使用fields =' all '来序列化Trip模型中的所有字段:
override func viewDidLoad() {
super.viewDidLoad()
camera.photoDelegate = self
}
但是,对于通过相关名称方法传递的数据,它不能像这样工作。我要做的就是将上面的代码替换为:
fields = '__all__'
此后,ListApiView最终显示了带有属性“酒店”的旅行模型