Come fare correttamente uno-a-molti si unisce in un (Python) Google App Engine origine dati?

StackOverflow https://stackoverflow.com/questions/1100472

  •  11-09-2019
  •  | 
  •  

Domanda

Ho alcuni modelli allestiti come:

class Apps(db.Model):
    name        = db.StringProperty(multiline=False)
    description = db.TextProperty()

class AppScreenshots(db.Model):
    image_file     = db.StringProperty(multiline=False)
    description    = db.StringProperty(multiline=False)
    app            = db.ReferenceProperty(Apps)

Sto cercando di fare riferimento a un'app "madre" in uno screenshot in questo modo:

a = Apps.get(app_key)   
ss = AppScreenshots(
    image_file     = 'foo',
    description    = 'bar',
    app            = a
)
ss.put()

Ma si lamenta con me dicendo:

BadArgumentError('_app should be a string; received ag1raWxsZXItcm9ib3RzcgoLEgRBcHBzGAkM (a Key):',)

Ho provato ad andare oltre alcuni esempi su internet e tutti sembrano funzionare come sopra. Uno href="http://code.google.com/appengine/docs/python/datastore/entitiesandmodels.html#References" set di documentazione Google ha fino suggerisce farlo un po 'diverso, in questo modo:

a = Apps.get(app_key)   
ss = AppScreenshots(
    image_file     = 'foo',
    description    = 'bar',
    app            = a.key()
)
ss.put()

Ma che mi dà lo stesso errore esatto.

Che cosa sto facendo di sbagliato?

È stato utile?

Soluzione

Il problema che ho trovato quando si cerca di eseguire il codice è che a quanto pare è necessario modificare il nome di 'app' in AppScreenshots a qualcos'altro, come 'applicazioni'. La parola 'app' deve essere prenotato in questo contesto.

Prova questa ricerca, invece. Si potrebbe fare .filter () anche su questo, se non si desidera che la prima entità.

class AppScreenshots(db.Model):
     image_file     = db.StringProperty()
     description    = db.StringProperty()
     apps            = db.ReferenceProperty(Apps)

appsObject = db.Query(Apps).get()

ss = AppScreenshots(image_file = 'foo', description = 'bar',apps = appsObject)

Ecco un articolo utile su relazioni di modellazione collegamento .

Anche una relativa domanda qui su SO

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top