-1
我对某些模型进行查询,并从生成的queryset对象返回一个评估列表。python根据json字段中的值排序django模型
此模型中的一个字段是一个包含json字符串的文本字段。我想根据json中的键值对模型列表进行排序。
例JSON:
meta_data = "{'V1': {
'key': key,
'timestamp': timestamp,
'current': True,
'conversion_type': conversion_type,
'filename': filename},
'V2': {
'key': key,
'timestamp': timestamp,
'current': False,
'conversion_type': conversion_type,
'filename': filename},
'notes': []}"
的键/值对要么A.)的一个版本(V1,V2等)键,时间戳等或B.)的注释。我需要忽略笔记,找到Version = current = True的版本,并使用该版本的时间戳进行排序。
我想这一点:
def get_version_created_time(meta_data):
meta_data = json.loads(meta_data)
for key, value in meta_data.iteritems():
try:
if value['current'] == True:
return value['timestamp']
except KeyError:
pass
list_of_models.sort(key=get_version_created_time(operator.attrgetter('meta_data')))
,但我的函数需要一个字符串,operator.attrgetter( 'meta_data')是不是字符串。我应该如何获取meta_data字段的json字符串,以便将其传递给我的函数以查找当前版本的时间戳,或者按照我所描述的方式对模型列表进行排序的正确方法是什么。
感谢,
我希望我知道为什么我的问题被低估了。 –