0

このエラーを回避できません... restframework2ブランチを使用しています。

私は何か間違ったことをしていますか、それともrestframework2コードのバグですか?

これが私のコードです:

resources.py

class TemplateHoursSerializer(serializers.ModelSerializer):
    class Meta:
        model = TemplateHours
        nested = True

    start = HourField()
    end = HourField()
    employee = EmployeeSerializer()

class TemplateHoursResource(ModelResource):
    model = TemplateHours
    serializer_class = TemplateHoursSerializer

urls.py

url(r'^api/template-hours/$', TemplateHoursResource.as_view(actions={
    'get': 'list',
    'post': 'create'
})),
url(r'^api/template-hours/(?P<pk>[0-9]+)/$', TemplateHoursResource.as_view(actions={
    'get': 'retrieve',
    'put': 'update',
    'delete': 'destroy'
})),
...

にアクセスする (または POST する)http://127.0.0.1:8000/api/template-hours/と、次のエラーとトレースバックが表示されます。

AttributeError at /api/template-hours/
can't set attribute
Request Method: GET
Request URL:    http://127.0.0.1:8000/api/template-hours/
Django Version: 1.4.1
Exception Type: AttributeError
Exception Value:    
can't set attribute
Exception Location: C:\Users\Mathieu\Development\django_projects\hedron\Lib\site-    packages\rest_framework\resources.py in wrapped, line 13
Python Executable:  C:\Python27\python.exe
Python Version: 2.7.2
Python Path:    
['C:\\Users\\Mathieu\\Development\\django_projects\\hedron\\Scripts',
 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c12dev_r88846-py2.7.egg',
 'C:\\Python27\\lib\\site-packages\\virtualenv-1.7.1.2-py2.7.egg',
 'C:\\Users\\Mathieu\\Development\\django_projects\\hedron\\Lib\\site-packages',
 'C:\\Users\\Mathieu\\Development\\django_projects\\hedron\\hedron',
 'C:\\Python27\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages',
 path(u'C:\\Users\\Mathieu\\Development\\django_projects\\hedron'),
 path(u'C:\\Users\\Mathieu\\Development\\django_projects\\hedron\\hedron\\apps'),
 path(u'C:\\Users\\Mathieu\\Development\\django_projects\\hedron\\hedron\\libs')]
Server time:    di, 9 Okt 2012 22:46:50 +0200

Traceback:
File "C:\Users\Mathieu\Development\django_projects\hedron\Lib\site-packages\django\core\handlers\base.py" in get_response
  111. response = callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Mathieu\Development\django_projects\hedron\Lib\site-packages\rest_framework\resources.py" in view
  48. return self.dispatch(request, *args, **kwargs)
File "C:\Users\Mathieu\Development\django_projects\hedron\Lib\site-packages\django\views\decorators\csrf.py" in wrapped_view
  77. return view_func(*args, **kwargs)
File "C:\Users\Mathieu\Development\django_projects\hedron\Lib\site-packages\rest_framework\views.py" in dispatch
  324. response = self.handle_exception(exc)
File "C:\Users\Mathieu\Development\django_projects\hedron\Lib\site-packages\rest_framework\views.py" in dispatch
  321. response = handler(request, *args, **kwargs)
File "C:\Users\Mathieu\Development\django_projects\hedron\Lib\site-packages\rest_framework\resources.py" in list
  74. return self.root_view().list(request, args, kwargs)
File "C:\Users\Mathieu\Development\django_projects\hedron\Lib\site-packages\rest_framework\resources.py" in root_view
  68. return wrapped(self, self.root_class())
File "C:\Users\Mathieu\Development\django_projects\hedron\Lib\site-packages\rest_framework\resources.py" in wrapped
  13. setattr(dest, attr, getattr(source, attr))

Exception Type: AttributeError at /api/template-hours/
Exception Value: can't set attribute
4

1 に答える 1

1

リソースとルーターは、R​​EST フレームワーク 2 [のベータ版] ではまだ完成していません/サポートされていません。それらのドキュメントは、私がデザインをどのように見せたいかのプレースホルダーですが、今日はインデックスから削除します. うまくいけば、彼らは 2.0 に間に合いますが、ビューと明示的な URLconf で必要なことはすべてできるので、私はそれが不可欠だとはまったく思いません。リソースとルーターは、便利なショートカットを提供するだけです。

于 2012-10-10T08:26:28.390 に答える