Django 1.11.3, python 3.6
У меня есть 2 класса в моем view.py:
class ProductList(generics.ListAPIView):
class SampleList(generics.ListAPIView):
Обратите внимание на тот же суперкласс.Может иметь значение: Product - это актуальная модель, Sample - нет, SampleList
- это просто метод, который вызывает Product.objects.all()
(тот же код, что и в ProductList
)
Весь код внутри этих классов, кроме имен классовявляется ИДЕНТИЧНЫМ (включая сериализатор) - я просто скопировал класс и переименовал копию).
Клиент, прежде чем он нажмет URL для этих двух, получает схему
schema = self.client.get(self.myAppApiUrl)
#works, returns the results
result1 = self.client.action(schema, ["products", "list"])
params = {"id" : some_id, }
#fails with this: coreapi.exceptions.LinkLookupError: Index ['samples']['list'] did not reference a link. Key 'list' was not found.
result2 = self.client.action(schema, ["samples", "list"], params)
Когда я печатаю "schema
", я вижу
products: {
list([page])
}
samples: {
read(id)
}
Мои вопросы: с чем связано добавление "list"
к schema
в первом случае и "read"
во втором случае?И как я могу добавить «список» во втором случае?Может быть, какое-то обновление схемы нужно как-то сделать?Веб-сервер API был перезапущен.
Что означает это сообщение "Key 'list' was not found"
?Этот сбой как-то связан с пройденным params
?Удаление params
из клиентского вызова ничего не меняет.
Мне также несколько любопытно, что это за "page
" в list
и что добавляет это, ноэто не важно.