0

我最近遇到django-roa并认为它非常适合我正在从事的项目。不幸的是,我在他们的基本示例中遇到了最困难的时间。我已经建立了一个基本的 django 项目,所以我很肯定这个问题与初始设置无关。

我有一个简单的模型:

from django.db import models
from django_roa import Model

class RemoteModel(Model):
    slug = models.CharField(max_length=255, blank=True, null=True)

    @staticmethod
    def get_resource_url_list():
        return u'http://my-restful-url/path/resource'

...这是我的相关部分settings.py

INSTALLED_APPS = (
    'django_roa',
    'myapps',
    # ... other default apps ...
)

# ROA Stuff
ROA_MODELS = True
ROA_FORMAT = 'json'
ROA_DJANGO_ERRORS = True
ROA_HEADERS = {
    'ApiKey': 'apikey'
}

但是,当我去测试这个例子时,会发生这种情况......

>>> from myapps.models import RemoteModel
>>> RemoteModel.objects.all()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'objects'
>>> type(RemoteModel)
<type 'NoneType'>

我错过了什么吗?据我所知,设置几乎与提供的twitter 示例应用程序相同。

如何使用 Django-ROA 建立一个简单的远程模型?

编辑:
这是安装的软件包:

Django==1.4.1
django-roa==1.7
http-parser==0.8.3
restkit==4.2.2
socketpool==0.5.3
wsgiref==0.1.2
4

1 回答 1

0

在撰写本文时,上述示例应该可以工作。问题是django-roa代码。列出的包 (1.7) 不支持 Django 1.2 之后的版本。

这个拉取请求中有一些工作可以django-roa在 Django 1.5 中工作,但是要让 1.4 或 1.3 工作,您需要按照该拉取请求中的描述进行以下更改:

是的,它只需要attached_to从 [the] 方法调用中删除 [the] 参数add_to_class以支持 django 1.4 并only_installedget_model函数调用中删除参数以支持 django 1.3 TypeError。两个 [变化] 在db/models.py.

于 2013-10-29T21:22:48.963 回答