2013-01-14 35 views
3

我一直使用appcfg.py來upload_data相當成功,但我不確定如何設置bulkloader.yaml中的重複屬性的導入轉換或如何構建CSV。例如:如何使用appcfg.py將重複的屬性上傳到ndb數據存儲中

在後的模型,看起來像這樣:

class Post(models.Model): 
    tags = ndb.StringProperty(repeated=True) 

bulkloader.yaml看起來是這樣的:

transformers: 
- kind: Post 
    connector: csv 

    property_map: 
    - property: __key__ 
     external_name: key 
     export_transform: transform.key_id_or_name_as_string 
    - property: tags 
     external_name: tags 
     import_transform: ??? 

import_transform爲這個註冊權API?或者有其他方法可以做到這一點嗎?

回答

1

我試過兩步法,似乎使用import_transform工作。首先創建一個模塊(本質上是一個自定義的轉換文件),比方說bulkmodify.py。然後在bulkmodify定義變換你的bulkloader.yaml文件傳入值轉換到一個列表

def list_convert(value): 
    output=[value] 
    return output 

然後指定進口轉變爲您的重複屬性:

import_transform: bulkmodify.list_convert 

也不要忘了,包括你的模塊在您的bulkloader.yaml文件頂部的導入列表中。

- import: bulkmodify

在我輸入所以bulkloader使他們在與多個上市值

key,"""tag1"",""tag2"",""tag3""", property3, etc. 
+0

,我會嘗試一個屬性CSV數據與多個報價的結構。我不知道如何編寫我的轉換函數,但我會檢查出來。 – mehulkar

相關問題