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中只有一个条目,valuetimestamp由管理命令每秒钟运行模型类中的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 (将#修改为@)