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'

...そして、ここに my の関連部分があります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 example appとほぼ同じです。

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 1.5 で動作するようにするための作業がありdjango-roaますが、1.4 または 1.3 で動作させるには、そのプル リクエストで説明されているように、次の変更を行う必要があります。

ええ、django 1.4 をサポートするために [the] メソッド呼び出しattached_toから [the] パラメータを削除し、 django 1.3 をサポートするために関数呼び出しからパラメータを削除する必要があります。両方の [変更は] にあります。add_to_classonly_installedget_modelTypeErrordb/models.py

于 2013-10-29T21:22:48.963 に答える