1

按照手册应该是可以的

给定一个对象、一个数据字典或两者,构建一个 Bundle 以在整个脱水/水合物循环中使用。

所以我用 Resource 把它放在一起

def get_list(self, request, **kwargs):

    bundles = []

    foo = {}
    foo['bar'] = 1

    bundle = self.build_bundle(data=foo, request=request)
    bundles.append(self.full_dehydrate(bundle))

    serialized = {}
    serialized[self._meta.collection_name] = bundles
    serialized = self.alter_list_data_to_serialize(request, serialized)
    return self.create_response(request, serialized)

但是即使我通过它,full_hydrate()它也会窒息。bar我在这里想念什么?

Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/csrf.py" in wrapped_view
  77.         return view_func(*args, **kwargs)
File "/home/dan/project/tastypie/resources.py" in wrapper
  203.                 response = callback(request, *args, **kwargs)
File "/home/dan/project/tastypie/resources.py" in dispatch_list
  445.         return self.dispatch('list', request, **kwargs)
File "/home/dan/project/tastypie/resources.py" in dispatch
  477.         response = method(request, **kwargs)
File "/home/dan/project/resources/widgets.py" in get_list
  188.         base_bundle = self.build_bundle(request=request)
File "/home/dan/project/tastypie/resources.py" in build_bundle
  704.             obj = self._meta.object_class()

Exception Type: TypeError at /api/widget/fundperfyearly/
Exception Value: 'NoneType' object is not callable
4

1 回答 1

5

您尚未指定querysetobject_classMeta模型资源的类中。使用时至少应指定其中之一ModelResource

您可以通过obj作为参数传递给build_bundle方法来避免这种情况,例如

bundle = self.build_bundle(obj=MyModel(), data=foo, request=request)

参考

好吃的 v0.9.15

  1. build_bundle
  2. 如果指定,则设置object_class使用。queryset.modelqueryset
于 2013-05-09T08:27:36.947 回答