l'objet n'a pas d'attribut '__getitem__'
J'ai deux modèle comme ceci:
class School(models.Model):
name = models.CharField(max_length = 50)
def __unicode__(self):
return self.name
class Education(models.Model):
user_profile = models.ForeignKey(UserProfile, related_name='Education')
school = models.OneToOneField(School)
def __unicode__(self):
return self.school
Quand je veux ajouter une éducation à userprofile avec django admin cette erreur eccour:
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in wrapper
372. return self.admin_site.admin_view(view)(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
91. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
89. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in inner
202. return view(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapper
25. return bound_func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
91. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in bound_func
21. return func(self, *args2, **kwargs2)
File "/usr/local/lib/python2.7/dist-packages/django/db/transaction.py" in inner
223. return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in add_view
1009. self.log_addition(request, new_object)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in log_addition
530. action_flag = ADDITION
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/models.py" in log_action
18. e = self.model(None, None, user_id, content_type_id, smart_text(object_id), object_repr[:200], action_flag, change_message)
Exception Type: TypeError at /admin/social/education/add/
Exception Value: 'School' object has no attribute '__getitem__'
Comment je peux Corriger cette erreur ?
OriginalL'auteur 2 8 | 2013-05-17
Vous devez vous connecter pour publier un commentaire.
Pour corriger cela, vous devez
__unicode__
de retourstr
(et non un objet).self.school.name
qui pourrait être plus approprié, après tout. Aussi, vous voudrez peut-être éviterrelated_name='Education'
comme c'est déjà le nom de la classeMieux retourner
unicode(self.school)
comme prévu son retour unicode.o ... merci!!!!:d
Bon point! Mise à jour de ma réponse.
OriginalL'auteur Alexey Kachayev