アイテムはParnetフィールドではなく、Childフィールドでは存在しない行を取得するためにクエリを実行することに苦労しました。Djangoクエリテーブルは、親フィールドにのみ存在するアイテムを検索します。
これはモデルです。
class Item(models.Model):
text = models.CharField()
class ItemRelations(models.Model):
child = models.ForeignKey('Item', related_name='itemchild')
parent = models.ForeignKey('Item', related_name='itemparent')
だから、私は子ではないが親である項目だけを除外したい。私はそれをfirstParentと呼びます。
私は非常に多くの異なる方法を試しました。私はこのようなことを達成したい。
可能ですか?それとも、これを管理するためにいくつかのクエリとループを作成する必要がありますか?
自己私は定義された名前ではありません。私の例ではItem pkを参照するだけです。私が '自己'を使用すると、それは私に与えられる_Exception値:\t 'self'は定義されていません。私は自分の代わりにItem.pkを試しましたが、_int()の引数は文字列、バイトのようなオブジェクトまたは数字でなければなりませんでした。 'property'_ – sumpen
私はいくつか考えてから答えを編集しました。私はあなたが使用したコードの例を公平に使用しました! – Withnail
はい、私は親であるが子供ではないアイテムを表示したいと思います。編集したこのクエリでは、親であったアイテムをすべて取得します。しかし、彼らがまだ子供であれば、私はまだそれらを手に入れます。私はアイテムが決して子供ではなかったことを確認したい。私が_itemchild__isnull = True_を使うだけなら、私はもっと近づくでしょう。しかし、私はまた、項目が子供を割り当てられていることを確認したい、他の単語で、親です。両親はいない。それが意味をなさないかどうかわかりません。 – sumpen