GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

django-mptt

django-mptt – djangoで変更されたプリオーダートラバーサルツリーを実装するためのユーティリティ

投稿日:

djangoで変更されたプリオーダートラバーサルツリーを実装するためのユーティリティ。

django-mptt

DjangoモデルでModified Preorder Tree Traversalを実装し、Modelインスタンスのツリーを操作するユーティリティ。

プロジェクトホーム: https : //github.com/django-mptt/django-mptt/

ドキュメント: https : //django-mptt.readthedocs.io/

ディスカッショングループ: https : //groups.google.com/forum/#!forum / django-mptt-dev

修正されたPreorder Tree Traversalとは何ですか?

MPTTは、データベースに階層データを格納する技術です。 目的は、検索操作を非常に効率的にすることです。

この効率のトレードオフは、木構造を常に良好な状態に保つために必要な余分な作業があるため、ツリーの周りにインサートやアイテムを移動することがより関与していることです。

ここでは、あなたの食欲をほぐすためのMPTTに関するいくつかの記事を紹介し、テクニック自体の仕組みについて詳しく説明します:

django-mpttとは何ですか?

django-mpttはあなた自身のDjangoモデルでMPTTを使いやすくするための再利用可能なDjangoアプリケーションです。

データベーステーブルをツリー構造で管理する詳細を処理し、モデルインスタンスのツリーを操作するためのツールを提供します。

要件

  • Python 2.7または3.4+
  • Djangoのサポートされているバージョン(現在1.11+)

機能の概要

  • モデルの簡単な登録 – ツリー構造に必要なフィールドが自動的に追加されます。
  • ツリー構造は、モデルインスタンスを作成または削除したり、インスタンスの親を変更すると自動的に更新されます。
  • ツリーの各レベルは、選択したフィールド(または複数のフィールド)によって自動的にソートされます。
  • 登録されたそれぞれのモデルに、新しいモデルメソッドが追加されます。
    • 木の位置を変更する
    • 祖先、兄弟、子孫を取得する
    • 子孫を数える
    • 他のツリー関連操作
  • 登録されたすべてのモデルにTreeManagerマネージャが追加されます。 これは、以下の方法を提供します。
    • ツリーの周りのノードを移動するか、別のツリーに移動する
    • ツリーの任意の場所にノードを挿入する
    • ツリーのMPTTフィールドを再構築します(djangoの外部で一括更新するときに便利です)
  • ツリーモデルのフォームフィールド
  • ツリーモデルのユーティリティ関数
  • ツリーをレンダリングするためのテンプレートタグとフィルタ
  • Djangoの管理インタフェースでツリーを可視化したり変更したりするための管理クラス







-django-mptt

執筆者: