2

Django1.3を使用して逆SQLルックアップを実行しようとしています。関連する質問をたくさん見つけましたが、残念ながら、一度に複数のレコードではなく、単一のレコードでこれを行うための答えを見つけることができます。

基本的に、これは私の場合です:私は次のようなモデル「テクニック」を持っています:

class Technique(models.Model):
    title = models.CharField(max_length=32)
    description = models.CharField(max_length=256)
    skill_level = models.IntegerField()
    parent_technique = models.ForeignKey('self', blank=True, null=True)

現時点では、すべての親のないテクニックのリストを作成しています。

t = get_list_or_404(Technique.objects.filter(parent_technique=None))

今私が欲しい(または少なくとも私が欲しいと思う)のは、のすべてのエントリがt、現在のテクニックを親としてリストするすべてのテクニックをリストする追加フ​​ィールド「子」を取得することです。誰かがこれを手伝ってくれますか?

また、彼らが私が望むことを達成するための別の方法である場合は、遠慮なく貢献してください。Djangoを使い始めたばかりなので、別の方法がわからない場合があります。

よろしくお願いします!

4

2 に答える 2

8

これはすでに組み込まれています-以下の関係を逆方向に参照してください。

あなたの場合は、次のようにしてください。

obj.technique_set.all()

のそれぞれobjについてt

于 2011-09-21T12:20:43.203 に答える
4

モデルにrelated_nameを追加

parent_technique = models.ForeignKey('self', blank=True, null=True, related_name="childrens_tech")

smt_techniqueのすべての子テクニックは

smt_technique.childrens_tech.all()
于 2011-09-21T10:58:47.393 に答える