#python #django #django-rest-framework
#python #django #django-rest-framework
Вопрос:
Я работаю над проектом 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, и в нем нет данных.
Кто-нибудь может мне это объяснить? Спасибо.
Комментарии:
1. пожалуйста, покажите полный
class PlaceQuerySet
2. Отредактировано @BearBrown. Может ли это быть из-за аналогичного наименования? postgres показывает мне, что есть две таблицы:
place_hotel
иplace_hotelmodel