J'ai une classe de profil:Mise à jour du modèle de Gae serveur datastore
class profile(db.Model):
user = db.stringProperty()
# Other properties ...
access = db.ListProperty(db.keys)
class apps(db.Model):
name = db.StringProperty()
La classe de profil était là depuis un certain temps calme, mais nous avons ajouté récemment l'accès champ qui permet de stocker les clés d'applications. Maintenant, nous ajoutons des autorisations de profil sur l'application, le champ d'accès n'est pas mis à jour dans le modèle.
Cela fonctionne très bien tout à fait sur localhost, mais quand je mets à jour ce sur le serveur j'obtenir cette erreur « objet « NoneType » n'a pas « accès » attribut » Quelqu'un at-il rencontré même situation
Mise à jour: Déterminé que l'un des objets de la classe profile est retourné comme None. Voici le code qui obtient l'objet de profil sur localhost mais aucun sur le serveur
liuser = users.User(request.POST['user'])
#request.POST['user'] gets user Gmail ID, which is being converted to user object
profiles=Profile.all().filter(" user =", liuser).get()
userprofile=profiles
#tried below code which returns "'NoneType' object has no attribute 'access'" on server, the same gets a profile object on localhost
if not hasattr(userprofile, "access"):
userprofile.access=[]
espèrent la mise en forme @ Robert est bien maintenant.
Merci Vous Sai Krishna
Il est plus facile de lire et de répondre à votre question si votre code est formaté. –
Pourriez-vous inclure le code que vous utilisez pour lire et mettre à jour les entités de profil. Vous pouvez également inclure le code réel que vous utilisez. Votre code a plusieurs problèmes, tels que "db.keys" et "db.stringProperty". –