問題タブ [tastypie]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - django-tastypie-関係を通じて多対多を作る方法
私はプロジェクトのAPIに取り組んでおり、次のようなOrderProductsを介してOrder/Productsの関係があります。
catalog/models.py内
order/models.pyで
さて、APIを介して注文をロードするときに、関連する製品も取得したいので、これを試しました(django-tastypieを使用)。
order / api.py
これにより、次のエラーメッセージが表示されます:「'Product'オブジェクトには属性'order'がありません」。そのため、何が間違っているのか、何が欠けているのかわかりません。おそらく、製品リソースにも何かが必要ですが、いくつかの方法を試しましたが、成功しませんでした。どんな助けでも大歓迎です:)
python - Django + SQLAlchemy + RESTful API (tastypie?)
現在、SQLAlchemy で Django を使用しており、モバイル デバイス用の (最初は簡単な) API を実装したいと考えています。
さまざまな python RESTful API フレームワーク、特に Tastypie と Piston で評価しています。
どちらかのモジュールを使用してリソースをSQLAlchemyにバインドするという正しい方向を教えてください。
あるいは、Django + SQLAlchemy でうまく機能する他のフレームワークはありますか?
みんなありがとう。
django - django-tastypie は、POST リクエストで関連オブジェクトを作成しようとします
プロジェクト API を介して外部キー (この場合は 2) を持つオブジェクトを作成しようとすると、tastypie は関連するオブジェクトも作成しようとします (注文と参加者はこちら):
掲載データ:
エラー メッセージ (network_id はユーザー プロファイル モデルの外部キーです):
ご覧のとおり、私は POST リクエストで完全なオブジェクトを送信しています。resource_uri だけで試してみましたが、問題なく動作しました。問題は、クライアント側のレンダリングに完全なオブジェクトが必要なことです (私はバックボーンを使用しており、モデルは自動的にレンダリングされます)。では、どうすればよいですか?関連オブジェクトを作成しないようにtastypieに指示する方法はありますか?
django - Django-tastypie は、ネストされたリソースを使用した POST を好みません (full=True)
私は backbone-tastypie を使用してネストされたリソースを作成しています。
ServiceResource を取得するには、うまく機能します。すべての ServiceSpecification を含む Service オブジェクトを返します。これには、すべての ServiceSpecRange や定数などがあります。
ネストされたリソース全体をサーバーに戻すことも、既存のデータに対しては正常に機能します。
ただし、ネストされたリソース全体を一度に投稿しようとすると(新しいサービススペックが添付された新しいサービス)、次のようになります。
int() 引数は、'list' ではなく、文字列または数値でなければなりません
以前にこのエラーが発生したことがあり、resource_uri を関連リソースに含めていないことに関連していることを発見しました。しかし、この場合、私は投稿しているので、ネストされたリソースに resource_uri がないことについて不平を言うべきではありません。それらが含まれていない理由は、親リソースがまだ保存されていないためです。TastyPie はこれを見るには十分に進んでいませんか?
トレースバックは次のとおりです。
{ "error_message":"int() 引数は、'list' ではなく、文字列または数値でなければなりません", "traceback":"Traceback (最新の呼び出しが最後):
ファイル \"build/bdist.linux-x86_64/egg/tastypie/resources.py\"、192 行目、ラッパー応答 = callback(request, *args, **kwargs)
F> ile \"build/bdist.linux-x86_64/egg/tastypie/resources.py\", line 397, in dispatch_list return self.dispatch('list', request, **kwargs)
ファイル \"build/bdist.linux-x86_64/egg/tastypie/resources.py\"、427 行目、ディスパッチ response = method(request, **kwargs) 内
ファイル\"build/bdist.linux-x86_64/egg/tastypie/resources.py\"、1165行目、post_list updated_bundle = self.obj_create(bundle, request=request, **self.remove_api_resource_names(kwargs))
ファイル \"build/bdist.linux-x86_64/egg/tastypie/resources.py\"、1783 行目、obj_create m2m_bundle = self.hydrate_m2m(bundle)
ファイル \"build/bdist.linux-x86_64/egg/tastypie/resources.py\"、743 行目、hydrate_m2m 内 bundle.data[field_name] = field_object.hydrate_m2m(bundle)
ファイル \"build/bdist.linux-x86_64/egg/tastypie/fields.py\"、742 行目、hydrate_m2m 内 m2m_hydred.append(self.build_related_resource(value, **kwargs))
ファイル \"build/bdist.linux-x86_64/egg/tastypie/fields.py\"、593 行目、build_related_resource で self.resource_from_data(self.fk_resource, value, **kwargs) を返す
ファイル \"build/bdist.linux-x86_64/egg/tastypie/fields.py\"、548 行目、resource_from_data で fk_resource.obj_update(fk_bundle, **data) を返す
ファイル \"build/bdist.linux-x86_64/egg/tastypie/resources.py\"、1814 行目、obj_update bundle.obj = self.obj_get(request, **lookup_kwargs)
ファイル \"build/bdist.linux-x86_64/egg/tastypie/resources.py\"、1752 行、obj_get base_object_list = self.get_object_list(request).filter(**kwargs)
ファイル \"/usr/local/lib/python2.7/site-packages/django/db/models/query.py\"、550 行目、フィルターで self._filter_or_exclude(False, *args, **kwargs) を返す
ファイル \"/usr/local/lib/python2.7/site-packages/django/db/models/query.py\"、568 行目、_filter_or_exclude clone.query.add_q(Q(*args, **kwargs) 内)
ファイル \"/usr/local/lib/python2.7/site-packages/django/db/models/sql/query.py\"、1194 行目、add_q can_reuse=used_aliases、force_having=force_having)
ファイル \"/usr/local/lib/python2.7/site-packages/django/db/models/sql/query.py\"、1129 行目、add_filter コネクタ内)
ファイル \"/usr/local/lib/python2.7/site-packages/django/db/models/sql/where.py\"、67 行目、add value = obj.prepare(lookup_type, value)
ファイル \"/usr/local/lib/python2.7/site-packages/django/db/models/sql/where.py\"、316 行目、準備中 return self.field.get_prep_lookup(lookup_type, value)
ファイル \"/usr/local/lib/python2.7/site-packages/django/db/models/fields/related.py\"、136 行目、get_prep_lookup で self._pk_trace(value, 'get_prep_lookup', lookup_type) を返す
ファイル \"/usr/local/lib/python2.7/site-packages/django/db/models/fields/related.py\"、209 行目、_pk_trace v = getattr(field, prep_func)(lookup_type, v, **kwargs)
ファイル \"/usr/local/lib/python2.7/site-packages/django/db/models/fields/ init .py\"、292 行目、get_prep_lookup で self.get_prep_value(value) を返す
ファイル \"/usr/local/lib/python2.7/site-packages/django/db/models/fields/ init .py\"、479 行目、get_prep_value で int(value) を返す
TypeError: int() 引数は、'list' ではなく、文字列または数値でなければなりません " }
編集:
この問題は関連していると思います:
https://github.com/toastdriven/django-tastypie/issues/307
このテスト ケースとともに:
https://github.com/joshbohde/django-tastypie/commit/eef8d27fb65d5777a98a3df034af26ceb317deb3
django - tastypieを使用したフィールド表示の小さな変更
私は簡単なおいしいリソースを持っています:
このリソースにgeom
は、geometryfieldであるフィールドが含まれています。TastypieはそれをWKT(文字列)として出力します。geoJSONとして出力したいのですが。
EntryResourceがattrの代わりにattr.jsonを出力する簡単な方法はありますか?
django - pysolrをtastypieと統合するには?
私は、tastypie を使用してデータベースの代わりに solr からデータを取得する必要があるアプリケーションを作成しました。ソーラーとのインターフェイスに pysolr を使用したいのですが、pysolr を Tastypie と統合する方法がわかりません。誰でも私を助けることができますか??
python - tastypieはPUT中に外部キー参照を削除しません
外部キーフィールドがnullに設定されるPUTを実行すると、Tastypieがオブジェクトへの変更を保存しないという問題があります。
これが私のModelResourceです:
次のデータを持つ既存のフォルダオブジェクトがあります。
次のデータを「/projects/ api / v1 / folder /5/」に配置しようとします。
エラーは返されません。すべて問題ないように見えますが、データベースには何も保存されません。誰かが私が間違っていることや、変更が保存されない理由を教えてもらえますか?
django - Django RESTful API Backbone.js / Mustacheまたはテンプレートに固執しますか?
既存のFlexフロントエンドをHTML5に置き換えるための書き直しに直面しているレガシーDjangoサイトに取り組んでいます。さらにその先には、RESTful APIを必要とするモバイルアプリ(現時点ではiPadのみ)があります。
私の質問は、Django側のRESTful API(おそらくおいしい)と通信するbackbone.js / mustacheのようなものでWebフロントエンドを実装するのにどれだけの余分な作業が必要か(おそらくおいしいです)です-書くことと比較して標準のDjangoアプリとして、後でAPIを追加しますか?私は前者と一緒に行きたいのですが、誰かがこの道を進んだかどうか、そしてあなたが遭遇した問題は何か疑問に思っています。
django - フィルター基準を含む Django-tastypie REST URL
私は Django-Tastypie にかなり慣れていないので、以下の入門例を見ています: http://django-tastypie.readthedocs.org/en/latest/tutorial.html#hooking-up-the-resource-s
- http://127.0.0.1:8000/api/entry/?format=json
- http://127.0.0.1:8000/api/entry/1/?format=json
- http://127.0.0.1:8000/api/entry/schema/?format=json
返されるオブジェクトをフィルタリングするために使用される、特定の形式のフィルター基準を含む残りの URL を許可することは可能でしょうか?
つまり、このスレッドのようなことをしなければならないということです。
django - django-tastypie のネストされた ToManyFields
ManyToManyField によって関連付けられた2 つModelResource
のAttack
とがあります。Packet
Packet.attacks
これは、1 ~ 3 個の攻撃がAttack.packets
含まれ、数百のパケットが含まれている場合に発生する傾向があります。
私がこれを行うことを計画している方法は次のとおりです。それぞれに、クエリセットを含むクエリセットへのリンクであり、クエリセットがネストされている場所でAttackResource
ある属性があります。Attack.packets
Attack.packets
AttackResource
すなわち:
これどうやってするの?
Cyberdelia の要点に従ってリソースをネストしようとしました/api/attack/1/packets/
が、実際には、attack.id が packet.attacks にあるパケットが含まれていません。
私ModelResource
のクラスは要点と同じで、他のリソースは次のとおりです。
と