0
我有一個資源,我試圖公開其投票。與Tastypie的反向關係,AttributeError
class ViewPostResource(ModelResource):
user = fields.ForeignKey(UserResource,'user',full=True)
votes = fields.ToOneField('voting.resources.GetVotesResource', attribute='vote_set', full=True)
class Meta:
queryset = UserPost.objects.all()
resource_name = 'posts'
include_resource_uri = False
class GetVotesResource(ModelResource):
user = fields.ForeignKey(UserResource,'user', full=True)
class Meta:
queryset = Vote.objects.all()
resource_name = 'vote'
我的投票模式雖然有點不同於正常。我將如何使用以下模型設置公開帖子的投票?
class Vote(models.Model):
user = models.OneToOneField(User, related_name='vote')
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
object = generic.GenericForeignKey('content_type', 'object_id')
vote = models.SmallIntegerField(choices=SCORES)
雖然我不想返回計數,但我試圖返回整個Vote對象與user_id和所有。任何想法如何做到這一點? – arooo
你應該仍然可以使用脫水。您只需要逐個映射您需要的字段。或者,它可以是類似bundle.data ['vote'] = Vote.objects.get(user = bundle.object.user).__ dict__。 – dannyroa
這使我朝着正確的方向發展,但我在.filter()上調用.values()而不是.get() - 任何想法爲什麼它在字符串中作爲字典而不是字典返回? – arooo