0

我正在尝试从另一个应用程序的模型中提取其外键在当前应用程序中被引用。这就是它的model.py样子。

class DataQuestion(models.Model):
    ...
    PollF = models.ForeignKey('myapp2.PollF')

如果我尝试在 tasypie 中使用它,我会得到一个null值。这就是我的api.py样子。

from myapp2.models import DataQuestion

class HelperSurveyResource(ModelResource):
    class Meta:
        queryset = DataQuestion.objects.all()
        resource_name='some_name'
        ...
    def dehydrate(self,bundle):
        bundle.data['complete']=True if(bundle.obj.isPComplete) else False
        return bundle

class QnResource(ModelResource):
    pollF=fields.ForeignKey(HelperSurveyResource,'some_name',full=True,null=True)

class Meta:
    queryset=DataQuestion.objects.all()

这是我得到的结果:

{"pollF": null,
"numAnswers": 1,
....
"text": "How much do you earn per day?"},

我该怎么做才能获得非空值?有什么帮助吗?谢谢

---------编辑--------- 问题在 IRC 上得到了回答。非常感谢Funkybob错误是 'some_name' 应该是pollF.

4

1 回答 1

0

对于 Jure C。这是答案:

from myapp2.models import DataQuestion

class HelperSurveyResource(ModelResource):
    class Meta:
        queryset = DataQuestion.objects.all()
        resource_name='some_name'
        ...
    def dehydrate(self,bundle):
        bundle.data['complete']=True if(bundle.obj.isPComplete) else False
        return bundle

更改发生在这里 -> 到 PollF 应该是要搜索的属性的名称。我不知道这个

class QnResource(ModelResource):
    pollF=fields.ForeignKey(HelperSurveyResource,'pollF',full=True,null=True)

class Meta:
    queryset=DataQuestion.objects.all()
于 2012-07-20T01:48:31.800 回答