2
我有一個串行2個SerializerMethodFields。其中一個返回obj.somelist.count()罰款。但是,在我要求其他方法返回obj.somelist [0]我得到一個TypeError「RelatedManager」對象不支持索引。任何意見非常感謝。 下面是一些代碼:Django的REST框架SerializerMethodField類型錯誤:「‘RelatedManager’對象不支持索引」
class TripPlaceSerializer(serializers.ModelSerializer):
class Meta:
model = TripPlace
fields = ('trip', 'place',)
class StopSerializer(serializers.ModelSerializer):
class Meta:
model = TripPlace
fields = ('place',)
depth = 1
class TripSerializer(serializers.ModelSerializer):
stops = StopSerializer(read_only=True, many=True)
stops_count = serializers.SerializerMethodField()
car = CarSerializer(read_only=True, many=False)
origin = serializers.SerializerMethodField()
# final = serializers.SerializerMethodField()
class Meta:
model = Trip
fields = ('id', 'name', 'owner', 'car', 'stops_count', 'stops', 'origin',)
def get_stops_count(self, obj):
return obj.stops.count()
def get_origin(self, obj):
return obj.stops.first()
' ''.first()'''返回第一個停止實例,但是現在表示行程和地點之間的連接表的模型,這是StopSerializer的深度爲1的地方正在返回類型爲「TripPlace」的對象是不可序列化。更新的代碼^。之前它渲染得很好。 – alirk
@alirk對不起朋友,如果答案解決了你原來的問題,你可以考慮問一個新問題。 –
感謝您的幫助:) – alirk