我正在做一个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)
...
最终我想用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也没有数据
有人能给我解释一下吗? 谢谢
目前没有回答
相关问题 更多 >
编程相关推荐