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?"},

null 以外の値を取得するにはどうすればよいですか? 何か助けはありますか?ありがとう

---------EDIT--------- 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 に答える