Ich entwickle eine angularjs App auf Google App Engine, aber ich habe ein Problem mit einer meiner KeyProperty
Felder client
.Python: [Objekt Objekt] erscheint auf Seite Feld
Dies ist, wie das KeyProperty Feld angezeigt wird (Die anderen nicht KeyProperty Elemente werden angezeigt);
NB: Post ist 200 OK
model.py
class Project(ndb.Model):
projectID = ndb.IntegerProperty(required=True)
title = ndb.StringProperty(required=True)
description = ndb.StringProperty(required=True)
startAt = ndb.DateTimeProperty(indexed=True)
endAt = ndb.DateTimeProperty()
client = ndb.KeyProperty(kind='Client')
class Client(ndb.Model):
name = ndb.StringProperty()
home.html Element
<div class="form-group">
<label>Client : </label>
<input type="text" ng-model="Project.Client" class="form-control"/>
</div>
In handler.py
def post(self):
r = json.loads(self.request.body)
print str(r)
cl = Client(name=r['Client']).put()
client_key = cl
g = Project(projectID=int(r['ProjectID']),
client=client_key,
description=r['Description'],
title=r['Title'],
startAt=datetime.strptime(r['StartAt'], '%Y-%m-%dT%H:%M:%S.%fZ'),
endAt=datetime.strptime(r['EndAt'], '%Y-%m-%dT%H:%M:%S.%fZ'))
project_key = g.put()
Winkel
eventClick: function (project) {
$scope.showSelected = true;
var fromDate = moment(project.start).format('DD/MM/YYYY LT');
var endDate = moment(project.end).format('DD/MM/YYYY LT');
$scope.Project = {
ProjectID : project.projectID,
Client : project.client,
Title : project.title,
Description: project.description,
Employees: project.employees,
StartAt : fromDate,
EndAt : endDate,
IsFullDay : false
}
$scope.ShowModal()
},
ich immer noch meine Art und Weise lerneKeyProperties zu handhaben. Danke für die Hilfe
UPDATE
Dies ist der Fehler, den ich immer bin, wenn ich ‚qwert‘ im Client-Feld eingeben;
versuchen müssen Versuchen Sie zu "console.log" dieses Objekt und sehen, welche Eigenschaften es hat. Was Sie wollen, ist wahrscheinlich eine seiner Eigenschaften. – lucasnadalutti
'[Objekt] bedeutet, dass Sie ein komplexes Objekt in Händen haben. Versuchen Sie stattdessen, Ihren Code in 'ng-model =" Project.Client.name "' 'zu ändern. –
@FabioMenegazzo Ja, das hat geholfen (Feld wird richtig angezeigt), als ich hinzugefügt habe, änderte ich zu 'ng-model = ng-model =" Project.Client.name "'. Nachdem ich jedoch '.name' hinzugefügt habe, wenn ich ein neues _post_ versuche, bringt es mich zum/Edit Endpoint Handler statt/save Handler –