0

以下の each.category_id.all() の呼び出しが機能しない理由を理解しようとしています。基本的に、category_ids は見つかりませんが、そのテーブルには値が入力されています。

私は次のモデル/関係を持っています:

class GlobalPart (Models.model):
...
category_id=models.ManyToManyField(Category, related_name = 'globalpart')
...

class Category (Model.model):
...
category = models.CharField(max_length=250)
...

脚本:

def addcatsfromlist(self):
        globalparts = GlobalPart.objects.all()
        for each in globalparts:
            for catid in each.category_id.all():
                print catid

注: また、django シェルを開いて、GlobalPart の特定のエントリに対してこれを実行しようとしましたが、これ[]を実行すると空が表示されます。しかし、間違いなく category_id のエントリがあるため、何が間違っているのかわかりません。

例えば:

>>> mypart = GlobalPart.objects.get(pk=1)
>>> print mypart.category_id.all()
[]
4

1 に答える 1

0

私は自分の問題を理解しました。このフィールドに間違った値を格納していたので、そこに格納された整数は実際にはカテゴリ テーブルの主キーとして存在しませんでした。そのため、何も見つかりませんでした。これは振り返ってみるとかなりばかげていますが、別の初心者を助けるかもしれません.

于 2012-07-26T21:58:59.710 に答える