2014-06-16 4 views
1

이없는 나는 다음과 같은 모델이 있습니다'사용자'개체가 어떤 속성 '__getitem__'오류

class StudentUsername(models.Model): 
    user = models.OneToOneField(User) 
    student = models.ForeignKey(Student) 

내가 기본 장고 관리자 인터페이스를 사용하여이 테이블에 사용자와 학생을 추가하려고, 내가받을 다음과 같은 오류가 :

Exception Type: TypeError 
Exception Value: 'User' object has no attribute '__getitem__' 

친절히 도움. 즉, self.user 또는 self.student - - 오히려 실제 유니 코드보다

Traceback: 
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response 
    112.      response = wrapped_callback(request, *callback_args, **callback_kwargs) 
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py" in wrapper 
    432.     return self.admin_site.admin_view(view)(*args, **kwargs) 
File "C:\Python27\lib\site-packages\django\utils\decorators.py" in _wrapped_view 
    99.      response = view_func(request, *args, **kwargs) 
File "C:\Python27\lib\site-packages\django\views\decorators\cache.py" in _wrapped_view_func 
    52.   response = view_func(request, *args, **kwargs) 
File "C:\Python27\lib\site-packages\django\contrib\admin\sites.py" in inner 
    198.    return view(request, *args, **kwargs) 
File "C:\Python27\lib\site-packages\django\utils\decorators.py" in _wrapper 
    29.    return bound_func(*args, **kwargs) 
File "C:\Python27\lib\site-packages\django\utils\decorators.py" in _wrapped_view 
    99.      response = view_func(request, *args, **kwargs) 
File "C:\Python27\lib\site-packages\django\utils\decorators.py" in bound_func 
    25.     return func(self, *args2, **kwargs2) 
File "C:\Python27\lib\site-packages\django\db\transaction.py" in inner 
    371.     return func(*args, **kwargs) 
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py" in add_view 
    1133.     self.log_addition(request, new_object) 
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py" in log_addition 
    600.    action_flag=ADDITION 
File "C:\Python27\lib\site-packages\django\contrib\admin\models.py" in log_action 
    19.   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 /backoffice/students/studentusername/add/ 
Exception Value: 'User' object has no attribute '__getitem__' 
+3

오류의 추적을 붙여 넣습니다. –

+0

자취가 추가되었습니다. –

+0

Django의 어떤 버전 (사용자 모델이 약간 변경 되었기 때문에)과 여기에 사용자가 무엇입니까 (예 : import 문 표시)? – Evert

답변

2

당신이 사용자 또는 Student 객체 중 하나를 반환 StudentUsername에 __unicode__ 방법을 정의한 것으로 보인다. 그래서 장고가 조각을 만들려고하면이 오류가 발생합니다.

유니 코드 메서드가 실제로 유니 코드 텍스트를 반환하는지 확인하십시오.

+0

Daniel에게 감사드립니다. 그것은 그것을 해결하는 데 필요한 전부입니다. –

관련 문제