Я новичок в Django REST Framework.В моих моделях Django у меня есть модели Store
и SimilarStore
.Хранилище имеет similarstore_set
, в котором есть несколько похожих хранилищ, а в каждом подобном хранилище в качестве внешнего ключа есть столбец store
, показывающий id
.Однако я хочу показать столбцы объекта магазина вместо id
.
. Как вы видите на следующем примере API, магазин с id
7 имеет 3 аналогичных магазина, а аналогичный магазин имеет store
внешний ключ, показывает номер идентификатора соответствующего магазина.Я хочу показать его дочерние столбцы вместо просто id
число.
[
{
"id": 7,
"status": "active",
"businessName": "Ruby Claire Boutique",
"similarstore_set": [
{
"id": 1182,
"store": 7, <--- wanna show the store's child columns
},
{
"id": 1208,
"store": 7, <--- wanna show the store's child columns
},
{
"id": 1249,
"store": 7, <--- wanna show the store's child columns
}
]
},
...
]
Я пытаюсь это сделать, потому что когда я показываю страницу с подробным описанием магазина с id
7, мне нужно показатьинформация о похожем магазине на странице с подробностями магазина.Тем не менее, я не могу показать достаточно информации, просто набрав id
.
Я не уверен, что я иду в правильном направлении.Кто-нибудь может мне помочь по этому поводу?
РЕДАКТИРОВАТЬ
serializers.py
class SimilarStoreSerializer(ModelSerializer):
store = StringRelatedField()
class Meta:
model = SimilarStore
fields = ('id', 'store', )
class StoreSerializer(ModelSerializer):
similarstore_set = SimilarStoreSerializer(many=True)
class Meta:
model = Store
fields = ('id', 'status', 'businessName', 'similarstore_set', )
models.py
class Store(models.Model):
status = CharField(...)
businessName = CharField(...)
...
class SimilarStore(models.Model):
store = ForeignKey(Store)
...