#python #django #django-rest-framework #django-views
#питон #джанго #django-rest-framework #django-представления #python #django
Вопрос:
У меня есть список словарей, и я хочу избавиться от внешнего массива списков. Примите во внимание приведенный ниже массив,
[
{
"stores": [
{
"id": 1,
"storeName": "Green Mart",
"lat": 12.905616,
"lon": 77.610101,
"offer": [
{
"offer": "Get 10% OFF on Fruits amp; Vegetables"
}
]
},
]
}
]
Мой сериализатор выглядит следующим образом,
class storesSerializer(serializers.ModelSerializer):
offer = StoreOffersSerializer(read_only=True, many=True)
storeName = serializers.CharField(source="store_name")
lat = serializers.FloatField(source="latitude")
lon = serializers.FloatField(source="longitude")
class Meta:
model = Vendors
fields = ('id', 'storeName', 'lat', 'lon', 'offer')
class CategoryStoreSerializer(serializers.ModelSerializer):
stores = storesSerializer(read_only=True, many=True)
class Meta:
model = CategoryStore
fields = ('stores',)
и определение представления является,
if request.method == 'POST':
c = CategoryStore.objects.filter(category=request.data['cat_id'])
serializer = CategoryStoreSerializer(c, many=True)
return Response(serializer.data)
Комментарии:
1. пожалуйста, объясните вашу проблему подробнее?
Ответ №1:
Вы можете использовать индекс списка для ссылки на внутренний словарь и опустить внешнюю скобку.
a = [
{
"stores": [
{
"id": 1,
"storeName": "Green Mart",
"lat": 12.905616,
"lon": 77.610101,
"offer": [
{
"offer": "Get 10% OFF on Fruits amp; Vegetables"
}
]
},
]
}
]
Ниже приведен вывод a[0]:
{
"stores": [
{
"id": 1,
"storeName": "Green Mart",
"lat": 12.905616,
"lon": 77.610101,
"offer": [
{
"offer": "Get 10% OFF on Fruits amp; Vegetables"
}
]
},
]
}