Tastypie Mongoengine ReferenceField dereference?

时间:2012-12-03 12:26:51

标签: python tastypie mongoengine

尝试使用tastypie和mongodb构建REST接口。 我有架构

class ObjectsA(Document):
     attr1 = StringField(max_length=12, required=True)
class ObjectsB(Docuemnt):
     attr2 = ReferenceField(ObjectsA,
                        reverse_delete_rule=CASCADE, dbref=False)

向ObjectsB发送GET请求后,我得到带有attr2的json对象 “attr2”:ObjectsA对象“

如何根据对ObjectsB的请求响应attr1?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。也许它对某些人有用。 对我来说,这并不明显。 在资源类的描述中,您必须描述所有字段 有类型ReferenceField 例如:

from tastypie_mongoengine import fields

class CustomerResource(resources.MongoEngineResource):
    person = fields.ReferenceField(to=
        'test_project.test_app.api.resources.PersonResource',
         attribute='person', full=True)

    class Meta:
        queryset = documents.Customer.objects.all()
        allowed_methods = ('get', 'post', 'put', 'patch', 'delete')
        authorization = tastypie_authorization.Authorization()