Я работаю над проектом 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, и у него нет данных.
Может кто-нибудь объяснить мне это?
Благодаря.