2012-01-14 3 views
1

私はdjango-tastypieを使用してdjangoモデルを公開しています。しかし、私はこのリソースに投稿するいくつかの問題を抱えています。 tastypieは私が 'id'フィールド以外のプライマリキーに別のフィールドを使用しているのを気に入らないようです。Tastypieが非id主キーで投稿できない

"error_message": "Reverse for 'api_dispatch_detail' with arguments '()' and keyword arguments '{'pk': u'VMware-42 30 21 91 31 77 1b 8a-75 c1 4f ab 70 d9 99 a6', 'api_name': 'v1', 'resource_name': 'system'}' not found.", 

マイモデル::

class System(models.Model): 
    selinux = models.CharField(max_length=255) 
    serialnumber = models.CharField(primary_key=True, max_length=255) 
    signer = models.CharField(max_length=255) 
    tsm_pvu = models.CharField(max_length=255) 

マイリソース:

class SystemResource(ModelResource): 

    class Meta: 
      queryset = System.objects.all() 
      authentication = ApiKeyAuthentication() 
      authorization = DjangoAuthorization() 
      resource_name = 'system' 

答えて

1

私は最近、同様の問題があった。ここ

は私が見ているエラーです。プライマリキーが非IDフィールドではなく、英数字以外の文字(スペースなど)を含むことが原因であることが判明しました。それはあなたの例でもそうであるように思われます。

トランクとまだマージされていないthis patchが見つかりました。これは私にとって問題を解決しました。 tastypie 0.9.11でパッチを適用する必要のある行は、ファイルtastypie/resources.pyの(base_urlsメソッドの)行283-284です。希望が役立ちます。

+0

+1このパッチをお寄せいただきありがとうございます。 –

関連する問題