在App Engine中取消设置批量上传器中的值

时间:2011-10-25 01:00:46

标签: google-app-engine

在App Engine中使用bulkloader,我可以将属性设置为特定值或None(或null值)。如果我没有在bulkloader.yaml中包含该属性,我也可以保留它们。

我想要做的是为某些实体设置属性,并为其他实体保留未设置的属性。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

使用bulkloader的标准YAML配置无法做到这一点。但是请注意,大多数模型框架(包括内置于App Engine的Python)都会在您第一次使用它们创建记录时创建任何缺失的属性,因此没有太多意义可以让您不再指定它们。< / p>

答案 1 :(得分:1)

您可以使用post_import_function

执行此操作

假设您有一个名为“notes”的字符串属性,如果为空则应该省略:

def post_process_entity(input_dict, instance, bulkload_state):
  if instance['notes'] == '':
    del instance['notes']
  return instance