Python 3.x BadValueError:属性的类型不受支持<;类型';datetime.date'&燃气轮机;

Python 3.x BadValueError:属性的类型不受支持<;类型';datetime.date'&燃气轮机;,python-3.x,google-app-engine,google-cloud-platform,google-cloud-datastore,Python 3.x,Google App Engine,Google Cloud Platform,Google Cloud Datastore,我正在查询具有日期值的字符串属性上具有筛选器的数据存储类型。我尝试访问的种类属性actual_reported_date没有明确定义,而是String类型的动态属性。将属性值存储为字符串类型而不是日期类型是错误的。现在有没有一种方法可以用字符串格式的日期比较过滤数据集?目标是筛选实际\u报告的\u日期属性值大于输入值(从\u日期\u格式)的记录 实体 class EarningsSurprise(ndb.Expando): stock_code = ndb.StringProperty()

我正在查询具有日期值的字符串属性上具有筛选器的数据存储类型。我尝试访问的种类属性actual_reported_date没有明确定义,而是String类型的动态属性。将属性值存储为字符串类型而不是日期类型是错误的。现在有没有一种方法可以用字符串格式的日期比较过滤数据集?目标是筛选实际\u报告的\u日期属性值大于输入值(从\u日期\u格式)的记录

实体

class EarningsSurprise(ndb.Expando):
  stock_code = ndb.StringProperty()
  ticker = ndb.StringProperty()
  original_data_source = ndb.StringProperty()
  actual_data_provider = ndb.StringProperty()

  created = ndb.DateTimeProperty(auto_now_add=True)
  updated = ndb.DateTimeProperty(auto_now=True)

  @classmethod
  def create(cls, **kv):
    return EarningsSurprise(**kv)

您不需要在
strtime
上放置
date()
。它已经做到了:

from_date_formatted = datetime.datetime.strptime(from_date, '%Y-%m-%d')
接下来,在哪里定义了
实际报告日期?如果您有一个字符串格式的日期,您可以很容易地按YYYYMMDDHHMMSS排序。。。因此,您可以通过以下方式测试不等式(作为字符串!):

class EarningsSurprise(ndb.Expando):
  stock_code = ndb.StringProperty()
  ticker = ndb.StringProperty()
  original_data_source = ndb.StringProperty()
  actual_data_provider = ndb.StringProperty()

  created = ndb.DateTimeProperty(auto_now_add=True)
  updated = ndb.DateTimeProperty(auto_now=True)

  @classmethod
  def create(cls, **kv):
    return EarningsSurprise(**kv)
from_date_formatted = datetime.datetime.strptime(from_date, '%Y-%m-%d')
from_date >= actual_reported_date # e.g. ('2018-05-22' >= '2017-11-22')