4

そこで、Django のTastyPieプラグインを使用して、プロジェクト用の REST API を作成し始めました。私は自分のプロジェクトで入門ガイドに従っていましたが、この時点で、外部キーを配置することになっていたときに、いくつかのエラーが発生し始めました。

単純な取得を行うときの主要なものは次のとおりです。

"Reverse for 'api_dispatch_detail' with arguments '()' and keyword arguments '{'pk': 246, 'api_name': 'v1', 'resource_name': 'typep'}' not found."

resources.py のコード:

class TypeOfPlaceResource(ModelResource):

    class Meta:
        queryset = TypeOfPlace.objects.all()
        resource_name = 'typep'
        allowed_methods = ['get']

class POIResource(ModelResource):

    typep = ForeignKey(TypeOfPlaceResource, 'typep')

    class Meta:
        queryset = PointOfInterest.objects.all()
        resource_name = 'pois'
        filtering = {
            "code1": ALL,
            "code2": ALL,
        }

そしてモデル:

class TypeOfPlace (models.Model):
    name = models.CharField(max_length=100, blank=True)
    code = models.CharField(max_length=20, unique=True)

    def __unicode__(self):
        return self.name

class PointOfInterest(GeoInformation):
    name = models.CharField(max_length=100,blank=True)
    code1 = models.CharField(max_length=4,null=True, unique=True)
    code2 = models.CharField(max_length=4,null=True, unique=True)
    typep = models.ForeignKey(TypeOfPlace)

    def __unicode__(self):
        return self.name

urls.py

api = Api(api_name='v1')
api.register(TypeOfPlaceResource(), canonical=True)
api.register(POIResource(), canonical=True)

urlpatterns = api.urls

それで、私は何か間違っていますか?または何かが足りない?どんな助けでも本当に感謝します! :D

4

2 に答える 2

3

私の問題に対する最終的な答えは、@manji と @dlrust を組み合わせたものです。

"urlpatterns値をurlpatterns = patterns('', (r'^api/', include(api.urls)),)"に変更

その後、「リソースのメタで承認を定義します」。

私にとってそうであったように、それが他の誰かに役立つことを願っています:)

于 2012-01-01T05:46:40.527 に答える
1

urlpatterns上書きされる可能性があるようです。

urlpatterns += api.urls;

+=このような作業を追加しますか?あなたに直接割り当てることで、urlpatternsあなたが持っていた古い割り当てを予想外に壊してしまうかもしれません。

于 2011-11-11T06:48:56.433 に答える