問題タブ [django-treebeard]

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.

0 投票する
4 に答える
7152 参照

database - Django:異種データ型のツリーをモデル化するにはどうすればよいですか?

データベースにツリーデータ構造を保存する必要があります。そのために、django-treebeardまたは場合によってはdjango- mpttを使用する予定です。私の混乱の原因は、各ノードが3つの異なるタイプのいずれかである可能性があることです。ルートノードは常にタイプAエンティティ、リーフノードはタイプCエンティティ、その間のものはすべてタイプBエンティティになります。この状況をモデル化するための最良の方法を知りたいです。

更新: 私は最初にモデルの継承を試しましたが、これが最善の方法だと思います。残念ながら、django-treebeardのパブリックAPIは、これを処理するようには実際には設計されていません。GenericForeignKeyで動作するようになりました。回答ありがとうございます。

0 投票する
1 に答える
4334 参照

django - Django treebeard AL、NS、MPの違いは何ですか

オブジェクトを分類するためのモデルを作成しようとしています。

私はすでに django-mptt を使用して関連するカテゴリを簡単に取得しようとしましたが、現在、さまざまなソリューションを検索して最適なものを見つけています。

具体化されたパス、隣接リスト、およびネストされたセットの主な違いは何ですか。ウィキペディアは短い答えをくれませんでした。私が知っているのは、おそらく mptt がネストされたセットであるということだけです...

誰かが私にそれを一言で説明できますか?

0 投票する
2 に答える
2414 参照

django - ネストされたセットの代わりに再帰的な WITH (Postgres 8.4) を使用した隣接リスト ツリー

私は Django ツリー ライブラリを探しており、ネストされたセットを避けるために最善を尽くしています (維持するのは悪夢です)。

隣接リスト モデルの短所は常に、複数のクエリに頼らずに子孫を取得できないことです。Postgres の WITH 句は、この問題に対する確実な解決策のようです。

WITH とネストされたセットに関するパフォーマンス レポートを見た人はいますか? ネストされたセットはまだ高速であると思いますが、それらが同じ複雑さのクラスにある限り、2 倍のパフォーマンスの不一致を受け入れることができます。

Django-Treebeard に興味があります。Postgresで実行しているときにWITH句を実装したかどうか知っている人はいますか?

WITH 句に照らして、ネストされたセットから切り替えた人はいますか?

0 投票する
2 に答える
2294 参照

python - 指示に基づいて Django-Treebeard をインストールしようとすると例外が発生する

Django-Treebeard ノードから sub-lassing すると、説明のない (または、少なくともこのコンテキストで解釈する方法がわからない) エラー メッセージが表示され、デバッグ方法がわかりません。http://code.tabo.pe/django-treebeard/src/tip/tbexample/のインストール手順を使用しています(投稿の最後を参照)。

MP_Node のサブクラスを作成すると、syncdb が機能します。ただし、models.py コードをシェルにロードすると、「リスト インデックスが範囲外です」というエラーが発生します。以下のコードとトレースを参照してください。

ご協力いただきありがとうございます。

Python 2.6.4、Django 1.1、Treebeard 1.1:

Settings.py にインストールされているアプリ:

手順:
1. を実行して、PyPi 1.1 から最新の treebeard バージョンeasy_install django-treebeardをインストールします。easy_install が気に入らない場合は、treebeard ダウンロード ページからリリースをダウンロードするか 、treebeard mercurial リポジトリから 開発バージョンを取得して2 を実行します。django 設定ファイルのセクションに 「treebeard」を追加します。 3. django- treebeard の 抽象ツリー モデルの 1 つから継承する新しいモデルを作成します 。 4.実行する




python setup.py install
INSTALLED_APPS





python manage.py syncdb

0 投票する
3 に答える
2374 参照

django - Djangoのツリービアード管理者

DjangoでTreebeardをセットアップしましたが、すべてうまくいったようです。管理システムをセットアップしようとしましたが、管理インターフェースにモデルが表示されているのを確認できます。ただし、管理インターフェースを使用して新しいデータを追加しようとすると、テンプレートで次のエラーが発生します。コードは引き続き正常に機能し、DBをチェックしたところ、データが正しく挿入されているようです。ただし、ビューが正しく読み込まれていないようです。これを引き起こしているものについて何か考えはありますか?

取得している例外は次のとおりです。

レンダリング中に例外が発生しました:u'[{\' action_index \':0、\' block \':、、、、、、、]>}、{\' block \':、のキー[request]のルックアップに失敗しました、、]> 、、、、、 \ n \'>、]> 、、]> 、、、、]> 、、、 \ n \'> 、、、、、、、、、、、]> 、、]> 、\ n \'>]>}、{\' cl \':、\' root_path \':なし、\' actions_on_bottom \':False、\' title \':u \'変更するアルバムを選択\'、 \'has_add_permission \':True、\'media \':、\'is_popup \':False、\'action_form \':、\'actions_on_top \':True、\'app_label \':\'gallery \'} 、{\'MEDIA_URL \':\'\'}、{\'言語\':((\'ar \'、\'アラビア語\')、(\'bn \'、\'ベンガル語\')、 (\'bg \'、\'ブルガリア語\')、(\'ca \'、\'カタロニア語\')、(\'cs \'、\'Czech \')、(\'cy \'、\'Welsh \')、(\'da \'、\'Danish \')、(\'de \' 、\'German \')、(\'el \'、\'Greek \')、(\'en \'、\'English \')、(\'es \'、\'Spanish \')、 (\'et \'、\'Estonian \')、(\'es-ar \'、\'Argentinean Spanish \')、(\'eu \'、\'Basque \')、(\'fa \ '、\'ペルシャ語\')、(\' fi \'、\'フィンランド語\')、(\' fr \'、\'フランス語\')、(\' ga \'、\'アイルランド語\') 、(\'gl \'、\'Galician \')、(\'hu \'、\'Hungarian \')、(\'he \'、\'Hebrew \')、(\'hi \'、 \'ヒンディー語\')、(\'hr \'、\'クロアチア語\')、(\'is \'、\'アイスランド語\')、(\'it \'、\'イタリア語\')、( \'ja \'、\ 'Japanese \')、(\' ka \'、\' Georgian \')、(\' ko \'、\' Korean \')、(\' km \'、\' Khmer \')、(\' kn \'、\' Kannada \')、(\' lv \'、\' Latvian \')、(\' lt \'、\' Lithuanian \')、(\' mk \'、\' Macedonian \ ')、(\' nl \'、\' Dutch \')、(\' no \'、\' Norway \')、(\' pl \'、\' Polish \')、(\' pt \ '、\'ポルトガル語\')、(\' pt-br \'、\'ブラジルポルトガル語\')、(\' ro \'、\'ルーマニア語\')、(\' ru \'、\'ロシア語\')、(\' sk \'、\' Slovak \')、(\' sl \'、\' Slovenian \')、(\' sr \'、\' Serbian \')、(\' sv \'、\'スウェーデン語\')、(\' ta \'、\'タミル語\')、(\' te \'、\'テルグ語\')、(\' th \'、\'タイ語\ ' )、、(\'tr \'、\'トルコ語\')、(\'uk \'、\'ウクライナ語\')、(\'zh-cn \'、\'簡略化された中国語\')、(\'zh- tw \'、\'従来の中国語\'))、\' LANGUAGE_BIDI \':False、\' LANGUAGE_CODE \':\' en-us \'}、{}、{\' perms \':、\'メッセージ\':[]、\' user \':}、{}]'

これは、Django管理者の保存ボタンを押した後に発生します。

これは私のadmin.pyの実装です:

0 投票する
1 に答える
603 参照

python - django treebeard MP_Node Tree を使用したオブジェクトの複数のバージョン (リビジョン)

マテリアライズド パス ツリー (django-treebeard 提供) を使用してツリー構造 ( https://bitbucket.org/hoverhell/xmppforum/src/27207da4a061/snapboard/models.py#cl-363 ) を作成しています。

編集されたオブジェクトの以前のすべてのリビジョンを表示できるオブジェクト (ポスト) 編集を実装 (回復) しようとしています。

質問は、すべての古いリビジョンをどこに保存するのがよいでしょうか?

今のところ、私には 2 つのアイデアがあります — 1. それらを Post モードのツリーの特別な場所に保存するか、または 2. 保存する MP_Node Post オブジェクトを (何らかの方法で) 与えることができる古いリビジョンの追加モデルを実装します (以前のリビジョンを保持します)。改訂も)。しかし、どちらのアイデアもあまり良くありません。別の未完成のアイデアは、ツリーとデータ構造を別々に保持する (ツリーからデータを参照する) ことです。しかし、それもかなり問題になると強く思います。

0 投票する
2 に答える
976 参照

django - django-taggitとdjango-mptt/django-treebeardを統合することは可能ですか?

さまざまな種類のコンテンツをタグ付けする必要があるWebサイトを開発しています。これは、django-taggitの使用を優先します。ただし、タグがデータベース内で自然な階層で表され、django-mpttまたはdjango-treebeardの使用を優先する場合は非常に有益です。

taggitの一般的なタグ付け機能をmptt/treebeardによって提供されるツリー構造と統合するための最良のソリューションは何ですか?

0 投票する
1 に答える
371 参照

django - メールヘッダー情報を使用したdjangoのメールスレッドの並べ替え

メールスレッドを保存するdjangoアプリがあります。mboxから元のメールを解析してデータベースに挿入するときは、メールヘッダーパラメーター「message-id」と「in-reply-to」を含めます。message-idはメッセージを識別する一意の文字列であり、in-reply-toは特定のメッセージが応答しているメッセージを識別します。

これが私のモデルのメッセージ部分です:

目標は、Gmailに似たスレッド形式でメールの会話を表示できるようにすることです。メールヘッダーからのmessage-id(モデルではmesg_id)とin-reply-to(モデルではin_reply_to)を使用して、メールを追跡し、スレッド化することを計画していました。

SOとgoogleを確認した後、これを行うにはdjango-treebeardやdjango-mpttなどのライブラリを使用する必要があるようです。これら2つのソリューションのいずれかのドキュメントを確認すると、ほとんどのモデルが外部キーの関係を使用しているように見え、これで混乱します。

上記のモデルの例を考えると、アプリにdjango-treebeardまたはdjango-mpttを実装するにはどうすればよいですか?これは、mesg_idフィールドとin_reply_toフィールドを使用して可能ですか?

0 投票する
1 に答える
630 参照

django - django_treebeard を使用してデータ ツリー (node.id を含む) を作成します。

treebeard モデルからディレクトリ ツリーを表示しようとしています。treebeard チュートリアルで提案されている注釈付きリスト メソッドは正常に機能しますが、データ ツリーに ID 情報を含めたいと考えています。

dump_bulk() には必要な情報がすべて含まれていますが、python と django の初心者として、情報を抽出してテンプレートに表示する方法を見つけるのに苦労しています。

javascript に切り替えて、json 文字列を解析することを考えましたが、javascript は文字列値の前の u プレフィックスが好きではありません。uプレフィックスを避ける簡単な方法はありますか?

また、id 情報を含む get_annotated_list() に基づく関数を作成することも考えました。ID情報が含まれるようにget_annotated_リストをオーバーロードできるはずだと思いますが、それに取り組む方法もよくわかりません。

学習曲線に沿って進歩するのに役立つあらゆる提案をいただければ幸いです。