1
有人可以帮助我,我需要一个只有唯一用户的股票列表,只有最新的股票公关。用户(post__user)Tastypie apply_filters与截然不同
我使用tastypie的API框架,希望有人能帮助我,我的模型布局看起来像这样::
class Post(models.Model):
user = models.ForeignKey(User)
....
class Share(models.Model):
post = models.ForeignKey(Post)
user = models.ForeignKey(User, blank=True, null=True)
....
我Tastypie资源::我的代码示例,但给我所有的股份,而不仅仅是一个(最新的)公关。用户..希望有人能帮助。
class ShareResource(ModelResource):
....
....
def apply_filters(self, request, applicable_filters):
distinct = request.GET.get('distinct', False) == 'True'
if distinct:
d = self.get_object_list(request).filter(**applicable_filters).values_list("post__user", flat=True).distinct()
return Share.objects.filter(post__user__id__in=d)
else:
return self.get_object_list(request).filter(**applicable_filters)
Humm,thanks;)..我在我的开发环境中使用sqlite3,是否有一种解决方法可以在没有区分的情况下工作([* fields]) – pkdkk
不确定。如果您没有选择相关数据,则无论如何它都可以工作,只需一次。我认为DISTINCT通常在SELECTED的任何字段上运行。 –