2012-04-19 70 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