Как django-rest-framwork показывает данные, когда соответствующая таблица фактически пуста? - PullRequest
1 голос
/ 28 марта 2019

Я работаю над проектом Django, который имеет следующие модели:


class PlaceQuerySet(models.QuerySet):
    def filter_by_province(self, province, lang='se'):
        query = self.filter(province=province, is_published=True)
        .annotate(thumbnail_uuid=models.F('image_album__default__uuid'))
        .prefetch_related()
        if lang == 'se':
            return query.annotate(city_name=models.F('city__alt_names__name'),)
        else:
            return query.annotate(city_name=models.F('city__name'))        
class BasePlaceModel(models.Model):
    class Meta:
        abstract = True

    objects = PlaceQuerySet.as_manager()
    name = models.CharField(max_length=50))
    ...
class Hotel(BasePlace):
    popularity = models.PositiveSmallIntegerField(default=0)
    ...

По некоторым причинам мне нужно создать новую модель отеля с разными полями. Поэтому я добавляю это в мои models.py:

class HotelModel(BasePlace):
    new_popularity = models.PositiveSmallIntegerField(default=1)
    ...

В конце концов я хочу получить доступ к моей новой HotelModel с DRF. Вот мой код:

class NewHotelViewSet(viewsets.ModelViewSet):

    serializer_class = HotelSerializer
    permission_classes = (IsAuthenticatedOrReadOnly, )
    queryset = HotelModel.objects.all()


class HotelSerializer(serializers.ModelSerializer):
    class Meta:
        model = HotelModel
        fields = (
            'id', 'blahblah'
        )

Странная часть - когда я запрашиваю NewHotelViewSet, он отвечает данными, пока эта новая модель пуста. Выполнение HotelModel.objects.all () показывает тот же результат. Я даже проверил Postgres, и у него нет данных.

Может кто-нибудь объяснить мне это? Благодаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...