#django #serialization #django-models #django-views #django-rest-framework
#django #сериализация #django-модели #django-просмотры #django-rest-framework
Вопрос:
У меня есть эти модели, все из которых имеют PointField:
class Place(models.Model):
title = models.CharField(max_length=75, verbose_name='Заголовок')
category = models.ForeignKey(PlaceCategory, verbose_name='Категория')
...
point = geomodels.PointField(geography=True, blank=True, null=True)
...
class Event(models.Model):
title = models.CharField(max_length=75, verbose_name='Заголовок')
address = models.CharField(max_length=255, blank=True, null=True, verbose_name='Адрес')
city = models.ForeignKey(City, verbose_name='Город')
...
point = geomodels.PointField(blank=True, null=True)
...
class Meeting(models.Model):
title = models.CharField(max_length=75)
participants = models.ManyToManyField(User, related_name='participating_meetings')
...
point = geomodels.PointField(blank=True, null=True)
...
В проекте у меня есть /points
URL-адрес API. По этому URL я хочу вернуть отфильтрованный набор или все точки, чтобы показать их на карте.
Я проверил документацию DRF, есть пример, как создать сериализатор для одной модели, но как мне создать представление API для этих нескольких моделей?
Комментарии:
1. опубликуйте свой лучший снимок при создании сериализатора. (не связано: почему вы используете стороннее поле point вместо geodjango?)
Ответ №1:
Такой вариант использования типичен для случаев, когда вам нужно удалить автоматически созданные по умолчанию вещи (сериализатор / просмотр) и создать свои собственные. Я бы сам собрал данные, прогнал их через PointSerializer
— может быть необязательным — который наследовал Serializer
бы и возвращал результат.
Комментарии:
1. Не могли бы вы привести фрагмент такого
PointSerializer
?