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的任何字段上運行。 –