4

bulkoader.yaml:App Engine BadValueError En vrac Télécharger des données - TextProperty être interprété comme StringProperty

transformers: 
    - kind: ExampleModel 
     connector: csv 
     property_map: 
     - property: __key__ 
      external_name: key 
      export_transform: transform.key_id_or_name_as_string 
     - property: data 
      external_name: data 
     - property: type 
      external_name: type 

model.py:

class ExampleModel(db.Model): 
     data = db.TextProperty(required=True) 
     type = db.StringProperty(required=True) 

Tout semble être bien, mais quand je télécharge je reçois cette erreur: BadValueError: Property data is 24788 bytes long; it must be 500 or less. Consider Text instead, which can store strings of any length.

Pour une raison quelconque, il pense que les données sont une propriété de chaîne.

Quelqu'un sait comment je peux résoudre ce problème?

Répondre

9

Vous devez spécifier une importation pour transformer le champ de texte, comme ceci:

- property: data 
    external_name: data 
    import_transform: db.Text 
+0

Merci. Mais maintenant je reçois: Erreur lors de l'analyse du fichier yaml: Impossible d'affecter la valeur 'db.Text' à l'attribut 'import_transform': Code non valide pour import_transform. Code: "db.Text". Détails: le nom 'db' n'est pas défini dans "bulkloader.yaml", ligne 33, colonne 29 –

+1

Vous devez ajouter "from google.appengine.ext import db" à votre section d'importation Python. –

+0

Ah! C'était si simple. > _> Merci Nick! –