也许你正在使用这样的东西:
resources.py
from djangorestframework.resources import ModelResource
from .models import Menu
class MenuResource(ModelResource):
model = MenuOfTheDay
allowed_methods = ('GET', )
urls.py
from djangorestframework.views import ListOrCreateModelView, InstanceModelView
from .resources import MenuResource
urlpatterns += patterns('',
url(r'^api/menu/$', ListOrCreateModelView.as_view(resource=MenuResource), name='menu-resource-root'),
url(r'^api/menu/(?P<pk>[0-9]+)/$', InstanceModelView.as_view(resource=MenuResource)),
)
allowed_methods 如果在 Resource 子类中将没有用,它应该在 View 子类中,如 ListModelView 类,所以如果你改变你的 urls.py用这个:
from djangorestframework.views import ListModelView, InstanceModelView
from .resources import MenuResource
urlpatterns += patterns('',
url(r'^api/menu/$', ListModelView.as_view(resource=MenuResource), name='menu-resource-root'),
url(r'^api/menu/(?P<pk>[0-9]+)/$', InstanceModelView.as_view(resource=MenuResource)),
)
它会正常工作:)