【发布时间】:2020-05-20 14:55:49
【问题描述】:
我有一个奇怪的问题,我认为它来自 django 和 postgres 之间的缓存,但不太确定。
我在数据库中有多个表,但问题只发生在其中一个上。假设是SpeakingSession 表。每次我进行更改,例如添加新实例、编辑实例时,调用 api 请求都不会返回更改;数据只有在我重启 apache2 服务器时才会更新。
例如:我有 7 个SpeakingSession 记录,然后我添加一个新记录。但是下面的打印命令返回 7。
class SpeakingSessionViewSet(viewsets.ModelViewSet):
queryset = SpeakingSession.objects.all()
def list(self, request):
print(self.queryset.count())
return super(SpeakingSessionViewSet, self).list(request)
所以我重新启动了 apache2 服务器,然后它返回 8。
知道如何解决这个问题吗?非常感谢!
这是我的模型和序列化器:
class SpeakingSession(models.Model):
sessionDefinition = models.ForeignKey('SessionDefinition', on_delete=models.CASCADE)
startTime = models.TimeField()
endTime = models.TimeField()
participants = models.ManyToManyField('Profile', default=None, blank=True)
class SpeakingSessionSerializer(serializers.ModelSerializer):
class Meta:
model = SpeakingSession
fields = ('id', 'sessionDefinition', 'startTime', 'endTime', 'participants')
【问题讨论】:
-
请显示您的 Django 缓存设置。
标签: django postgresql django-cache