Python 3.x BadValueError:属性的类型不受支持<;类型';datetime.date'&燃气轮机;
我正在查询具有日期值的字符串属性上具有筛选器的数据存储类型。我尝试访问的种类属性actual_reported_date没有明确定义,而是String类型的动态属性。将属性值存储为字符串类型而不是日期类型是错误的。现在有没有一种方法可以用字符串格式的日期比较过滤数据集?目标是筛选实际\u报告的\u日期属性值大于输入值(从\u日期\u格式)的记录 实体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()
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')