2012-11-16 11 views
3

我想實現REST API與django-respite配對Backbone.js。假設我有:Django的喘息+骨幹搞砸了當獲取url

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與持有該模型的集合。

當我通過使用respite獲取它時,它會產生1個集合1模型,該模型就像一個集合(一個模型數組),以及擁有1個模型的集合。

有沒有辦法解決這個問題?

回答

0

我沒有喘息的經驗,但我認爲問題在於,您要返回的JSON字典是一本包含一個鍵的字典,以及該書中的所有模型。

你可能只是想從視圖中返回一個數組,所以Backbone會看到它是一個模型集合。

因此改變:

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

context = Books.objects.all(),

它應該會返回一個數組(如果喘息是足夠聰明)。