私はレガシーデータベースを使ってRailsからDjangoにプロジェクトを移植しています。 Railsでは、データベース内のどの行にも脚注を追加することができる多相関連がありました。私はDjangoアプリケーションで同じことを実装しようとしています。私はGeneric Relationsの文書を見つけたので、完璧に見えます。残念ながら、関連するモデルのContentType IDを保持するためには、まずレガシーデータベースに新しいフィールドを作成する必要があります。私は2つのテーブルと多相関連を使用していたので、必要なのはDjangoアプリケーションの2つの対応するIDですが、DjangoでContentType IDを検索する適切なコマンドが見つからないようです。一般的な関係のためにDjangoのContentType IDを取得する
ご提案は大歓迎です。私は以前の質問を検索したが、私が探しているものを見つけることができなかった。お時間をいただきありがとうございます。
あなたが行うことができます https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#django.contrib.contenttypes.generic.GenericForeignKeyから
ありがとう!私が前に必要としていた答えを得ているように見えますが、私はただそれを認識しませんでした。 ContentType IDは通常文字列ですか?それぞれの数字の後には、Assignmentの "43L"が "44L"であるLetterの "L" - content_type_idが続きます。 –
だから私はまだ 'L'で何が起きているのか分かりませんが、まず最初にやっていたはずのことをして、テーブルを見るために基になるデータベースに行きました。確かに、私が得た数字は正しいが、Lはどこにも見つからない。奇妙な。しかし、多くの、多くのありがとう! –
Lは非常に厄介なDjangoのことです。idの型はdbの "long int"なので、状況によってはLが付いたものが出てきます。それをint( 'int(44L)')にキャストすると44になるはずです。 – Colleen