【问题标题】:tastypie path to resources美味的资源路径
【发布时间】:2013-02-12 07:37:17
【问题描述】:

我正在我的 sweetpie api 中设置相关字段。

我的 api.py 文件中有这个:

class PeopleResource(ModelResource):
event_id = fields.ForeignKey(EventResource,'event', full=True)
answer_link = fields.ForeignKey(DatePeopleResource,'datepeople', full=True, related_name='datepeople')
class Meta:
    queryset = EventPeople.objects.all()
    resource_name = 'people'
    filtering = {
        'event_id' : ALL,
        'phone_number' : ALL,
        'name' : ALL,
        'answer' : ALL,
    }
    authorization = Authorization()



class DatePeopleResource(ModelResource):
event = fields.ForeignKey(EventResource,'event')
event_date = fields.ForeignKey(DateResource,'event_date')
event_person = fields.ForeignKey(PeopleResource,'event_person', related_name='people')
class Meta:
    queryset = DatePeople.objects.all()
    resource_name = 'datepeople'
    filtering = {
        'event' : ALL,
        'event_person' : ALL,
        'event_date' : ALL,
    }
    authorization = Authorization()

我的问题是与 PeopleResource 相关的 DatePeopleResource 字段有效,但第一个无效。 (PeopleResource中与DatePeopleResource相关的那个)

我猜这是因为 DatePeopleResource 尚未定义。在美味的文档中,看起来我必须在调用 DatePeopleResource 之前添加 path.to.api.resource,如下所示:

answer_link = fields.ForeignKey(path.to.resource.DatePeopleResource,'datepeople', full=True, related_name='datepeople')

但我不知道路径是什么!我试过'resources','api'......我不太明白这条路径是什么。

谢谢你的帮助,我卡住了!

【问题讨论】:

    标签: django api django-models tastypie


    【解决方案1】:

    资源的路径类似于

    "appname.api.classname"
    

    别忘了把它放在引号里,因为是的,当你想使用它时它还没有定义。

    【讨论】:

    • 是的!非常感谢!
    • 行情!非常感谢。
    【解决方案2】:

    您也可以导入 DatePeopleResource 然后使用它来定义与它的关系。 例如:

    from ..api import DatePeopleResource
    
    class EventResource(ModelResource):
         event = fields.ForeignKey(DatePeopleResource, 'event')
    

    这样代码更干净。

    【讨论】:

    • 啊,谢谢。我不知道我可以从它自己的文件中导入一个类。
    • 如果它在它自己的文件中,你不需要导入它。
    猜你喜欢
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多