Google App Engine null排序顺序

时间:2012-06-09 10:06:47

标签: google-app-engine gql

根据谷歌Documentation,空值没有排序顺序。有没有办法配置此行为。例如,如果我按升序对整数属性进行排序,是否可以将数据存储配置为最后或第一个返回空值?

1 个答案:

答案 0 :(得分:1)

您最好的选择可能是将属性保存为每个对该属性具有空值的实体的空白“”字符串。一定要在你改变的每个实体上运行put()。

employees = Employee.all().fetch(50)
for employee in employees:
    if employee.hobbies is None: # Null value property
        employee.hobbies = ""
        employee.put()

当然,这不是执行此任务的最有效方法。您可能希望创建一个列表对象,如“batch_put_list”,并将每个员工对象附加到列表中。然后,执行db.put(batch_put_list)。

batch_put_list = []
employees = Employee.all().fetch(50)
for employee in employees:
    if employee.hobbies is None:
        employee.hobbies = ""
        batch_put_list.append(employee)
db.put(batch_put_list)

希望这有帮助。