問題タブ [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 投票する
1 に答える
419 参照

django - django-treebeard を使用したポリモーフィック ツリーのモデリング

さまざまなポリモーフィック タイプのノードを同じツリーに追加する方法が見つからないようです。基本的に、MP_Node から継承する HierarchyNode から継承する、Company または Region のいずれかのノードを持つツリーが必要だと思います

Company ルート ノードの追加は簡単です

しかし、リージョンを子として追加する方法がわからないようですc1

これを行う方法はありますか?それは悪い考えなので、API はこれを許可しませんか? この概念をモデル化するより適切な方法はありますか? あるいは、Company/Region タイプと 1 対 1 の関係を持つ HierarchyNodes のツリーを持つことができると思います。

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

django - Django-treebeard または適切な分類法アプリを使用した Django-taggit

環境: Python 2.7.10 Django 1.11.3

問題 タグだけでなく、分類法システムが必要です。例えば:

  • アート > デジタルイラスト
  • プログラミング > ウェブサイト > コードファイト
  • プログラミング > ウェブサイト > Hackerrank
  • プログラミング > Web サイト > コードファイト > アーケード > レベル 1
  • プログラミング > コードの課題

周りを見回すと、StackOverflow でこの投稿が見つかり、このブログ投稿にたどり着きました。

これにより、次のコードにたどり着きました。

モデル

管理者

問題は、管理者に移動してタクソノミーを追加すると、次のフィールドが表示されることです。

  • 名前
  • ナメクジ
  • 深さ
  • ナムチャイルド

最後の 2 つは手で入力することを意図していないため、tree beard のドキュメントに記載されています。

path、depth、または numchild の値を直接変更しないでください。代わりに、含まれているメソッドのいずれかを使用してください。これらの値は読み取り専用であると考えてください。

好奇心/愚かさのために、先に進んで自分で入力しようとしたところ、ツリーが壊れました。したがって、このハックを使用して修正する必要がありました。

ハックのユーザー「jrief」に称賛を。

もう 1 つの問題は、管理者経由でPostモデルにアクセスできなくなったことです。次のエラーが表示されます。

/admin/main/post の FieldDoesNotExist 投稿には属性「content_object」がありません

これは私の最初の Django プロジェクトとアプリであることを覚えておいてください。あなたが持っているかもしれないアイデアや分類のための良いジャンゴアプリ、または私が必要とする分類を実装する方法に関するアイデアを高く評価してください。