django filter postgres json 未定义字段变量
django filter postgres json field variable not defined
我刚开始使用 Django 和 postgres JSONFields。使用 Django 1.11.1
以下视图报告
name 'snapshot__timestamp' is not defined
型号:
class Snapshot(models.Model):
id = PGUUIDField(primary_key=True)
snapshot = JSONField(help_text=("Snapshot of config tree values"))
查看:
def get_queryset(self):
if len(self.request.query_params) > 0:
try:
startdate = time.strptime(self.request.query_params.get('startdate', None),'%Y-%m-%d %H:%M:%S')
enddate = time.strptime(self.request.query_params.get('enddate', None), '%Y-%m-%d %H:%M:%S')
return Snapshot.objects.filter(Q(snapshot__timestamp>=startdate) & Q(snapshot__timestamp<=enddate))
except Exception as e:
print(e)
logger.exception(e)
return Snapshot.objects.none()
return Snapshot.objects.all()
示例 json 字段条目:
{"tree": {"asdf": "values"}, "pollgroup": [1, 3], "timestamp": "2017-7-2 00:00:00"}
我找到的所有示例都在查询中显示 modelfield__json 键。我做错了什么?
timestamp
是Snapshot的一个字段。使用:
Snapshot.objects.filter(
Q(timestamp__gte=startdate) &
Q(timestamp__lte=enddate)
)
检查 Django documentation 字段查找。
我刚开始使用 Django 和 postgres JSONFields。使用 Django 1.11.1 以下视图报告
name 'snapshot__timestamp' is not defined
型号:
class Snapshot(models.Model):
id = PGUUIDField(primary_key=True)
snapshot = JSONField(help_text=("Snapshot of config tree values"))
查看:
def get_queryset(self):
if len(self.request.query_params) > 0:
try:
startdate = time.strptime(self.request.query_params.get('startdate', None),'%Y-%m-%d %H:%M:%S')
enddate = time.strptime(self.request.query_params.get('enddate', None), '%Y-%m-%d %H:%M:%S')
return Snapshot.objects.filter(Q(snapshot__timestamp>=startdate) & Q(snapshot__timestamp<=enddate))
except Exception as e:
print(e)
logger.exception(e)
return Snapshot.objects.none()
return Snapshot.objects.all()
示例 json 字段条目:
{"tree": {"asdf": "values"}, "pollgroup": [1, 3], "timestamp": "2017-7-2 00:00:00"}
我找到的所有示例都在查询中显示 modelfield__json 键。我做错了什么?
timestamp
是Snapshot的一个字段。使用:
Snapshot.objects.filter(
Q(timestamp__gte=startdate) &
Q(timestamp__lte=enddate)
)
检查 Django documentation 字段查找。