2

を持つモデルをロードしようとしていますが、ロードするManyToManyFieldと、データがフォーマットされている方法で Django がそれを認識しているとは思えません。

これが私のJSONコードです:

[ 
{
"pk": 1, 
"model": "myapp.unipart", 
"fields": {
  "last_updated": "2012-06-12 16:27:01", 
  "description": "My description", 
  "coverart": "", 
  "url": "http://sjjdd.pdf", 
  "source": "sdfsdf", 
  "part": "sfsdfsd", 
  "shortdesc": "ssds3", 
  "dsfd": [], 
  "category_id": [1,2,3,4,5,10,11], 
  "uid": 123, 
  "manufacturer": "dsfsd"
}
  }
]

問題の原因となっているフィールドは ですcategory_idcategory_idダンプデータが空白のままだったため、これらの値を手動で入力する必要がありました。したがって、それが関係しているかどうかはわかりません。

これが多くのデータではないことはわかっていますが、困惑しています。キー値の入力方法はcategory_id正しいですか?

フィールドをダンプするか、デバッグを行って、これが正しく読み取られない理由を見つける方法について、他のアイデアはありますか?

ちなみに、category_id のすべての値が、マップ先のカテゴリ テーブルに実際に存在することを確認しました。

4

1 に答える 1

0

として保存していた値category_idはテーブルの主キーではないことが判明したCategoryため、その結果、Django はテーブル内で対応するエントリを見つけることができませんでした。そこには整数が含まれていました。これが紛らわしい理由ですが、テーブル内の別のフィールドを参照していました。

したがって、これがあなたにも起こっている場合は、多対多テーブルがリンクしているテーブルの主キー ID にマッピングしていることを確認してください。

于 2012-07-29T23:57:48.493 に答える