【问题标题】:django tastypie foreignkey in different django application不同django应用程序中的django tastepie外键
【发布时间】:2012-07-19 07:39:15
【问题描述】:

我正在尝试从另一个应用程序的模型中提取其外键在当前应用程序中被引用。这就是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

【问题讨论】:

  • 你能把这个答案贴在这里回答并标记为正确答案吗?
  • @JureC.done :D 添加了答案。明天可以接受

标签: python django tastypie


【解决方案1】:

对于 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()

【讨论】:

    猜你喜欢
    • 2018-02-04
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 2020-05-14
    • 2014-04-25
    • 1970-01-01
    • 2019-04-10
    • 2012-10-25
    相关资源
    最近更新 更多