2012-04-19 99 views
2

這裏是我的models.pydjango tsstypie。 ORDER_BY查詢集

class Picture(models.Model): 
    image = models.ImageField(upload_to='uploads/') 
    caption = models.CharField(max_length=140, null=True, blank=True) 
    uploaded = models.DateField() 
    comments = models.ManyToManyField(Comment, null=True, blank=True) 

而且我tastypie的API資源,api.py:

class PictureResource(ModelResource): 

    class Meta: 
     queryset = Picture.objects.all.order_by('-uploaded') 
     resource_name = "photo" 
     authorization = Authorization() 
     API_LIMIT_PER_PAGE = 24 

正如你看到的,我想爲了我的API頁面通過最新的圖像上傳。

我的錯誤代碼是:

函數對象有沒有屬性 'ORDER_BY'

由於平時我不知道該怎麼辦......

(順便說一句,API_LIMIT_PER_PAGE = 24是否在正確的地點?)

回答

5

將您的queryset更改爲:

class PictureResource(ModelResource): 

    class Meta: 
     queryset = Picture.objects.all().order_by('-uploaded') 
     resource_name = "photo" 
     authorization = Authorization() 
     API_LIMIT_PER_PAGE = 24 

all本身它只是一種方法,但如果使用它就像all()它返回一個QuerySet。 order_by是一種QuerySet方法。

>> type(Picture.objects.all) 
<type 'instancemethod'> 

>> type(Picture.objects.all()) 
<class 'django.db.models.query.QuerySet'> 
+0

你太棒了! – 2012-04-20 00:13:39

+0

我很高興我幫助:) – 2012-04-20 13:54:17