如何解决GraphQL查询未使用graphene-django刷新
这是我的架构定义:
class TemperatureRecordType(DjangoObjectType):
unit = graphene.String()
class Meta:
model = TemperatureRecord
fields = ("timestamp","value")
def resolve_unit(parent,info):
return "Celcius"
class Query(graphene.ObjectType):
currentTemperature = DjangoListField(TemperatureRecordType)
schema = graphene.Schema(query=Query)
查询是:
{
currentTemperature{
timestamp
value
unit
}
}
在TemperatureRecord中只有一个条目,value
和timestamp
由管理命令每秒钟运行模型类中的refresh
方法来更改:
class TemperatureRecord(models.Model):
timestamp = models.DateTimeField(default=now) # Last time temperature value changed
value = models.IntegerField(default=get_random_temperature_value) # Value to be changed every second,always in Celcius
def refresh(self): # Updates entry's temperature value and timestamp
self.value = get_random_temperature_value()
self.timestamp = now()
self.save()
这是管理命令:
class Command(BaseCommand):
help = 'Refreshes temperature record every second,indefinitely'
def handle(self,*args,**options):
while True:
time.sleep(1)
try:
TemperatureRecord.objects.get().refresh()
except TemperatureRecord.DoesNotExist:
TemperatureRecord.objects.create()
Django shell运行良好,并且每秒显示一次数据更改,但是Graphene总是返回相同的过时数据,并且仅当我更改模式并保存文件时才刷新。
是否存在某种缓存?我在做什么错了?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。