获取网址时,django喘息+骨干搞砸了

时间:2012-11-16 02:22:23

标签: django rest backbone.js

我正在尝试使用django-respiteBackbone.js配对来实施REST API。假设我有:

models.py:

class Books(models.Model):
      name = models.CharField(max_length = 100)
      author = models.CharField(max_length = 100)

和views.py:

from respite import Views

class BooksView(Views):


    def index(self, request)
    return self._render(
        request = request,
        template = 'index/index'
        context = dict(
            books = Books.objects.all()
        ),
        status = 200,
    )

book1 = Books.objects.create(name = 'foo', author = 'bar')
book2 = Books.objects.create(name = '123', author = 'abc')

当我使用Tastypie获取它时,它会产生1个集合和2个模型,第一个模型包含book1,第二个模型包含book2,其中集合包含2个模型

当我使用respite获取它时,它会产生1个集合1模型,模型就像一个集合(一个模型数组),以及保存该模型的集合。

有没有解决这个问题?

1 个答案:

答案 0 :(得分:0)

我没有喘息的经验,但我认为问题在于你回来的JSON字典是一个带有一个键的字典,以及那本书中的所有模型。

您可能只想从视图中返回一个数组,因此Backbone会看到它是一组模型。

所以改变:

context = dict(books = Books.objects.all()),

context = Books.objects.all(),

哪个应该返回一个数组(如果喘息足够聪明的话)。