Store
имеет внешний ключ для SimilarStore
.Обычно в similarstore_set
около сотни подобных магазинов.Можно ли ограничить количество аналогичных магазинов в similarstore_set
, когда я создаю API с Django REST Framework
?
serializer.py
class SimilarStoreSerializer(ModelSerializer):
class Meta:
model = SimilarStore
fields = ('domain', )
class StoreSerializer(ModelSerializer):
similarstore_set = SimilarStoreSerializer(many=True)
class Meta:
model = Store
fields = '__all__'
ОБНОВЛЕНИЕ
В следующих кодах выбрасывается 'Store' object has no attribute 'similarstores_set'
, на самом деле similarstore_set
, почему выдает ошибку?
class StoreSerializer(ModelSerializer):
image_set = ImageSerializer(many=True)
promotion_set = PromotionSerializer(many=True)
similar_stores = SerializerMethodField()
def get_similar_stores(self, obj):
# get 10 similar stores for this store
stores = obj.similarstores_set.all()[:10] <-- This line throws the error
return SimilarStoreSerializer(stores, many=True).data
class Meta:
model = Store
fields = '__all__'