2011-10-24 13 views
0

他のモデルに複合外来キーを使用してモデルを作成する方法は誰でも知っています。複合外来キーを使用してモデルを作成するにはどうすればよいですか?

のUserInfo:はuserIdパスワード、キー、...

GeoInfo:ID、はuserIdパスワード、StoreNameを、...上記のサンプルモデルで

。 2つのフィールド(userId、パスワード)を使用してGeoInfoをUserInfoにリンクします。

注:私は2つのモデルを1つの外部キーでリンクする方法を知っています。

ご了承ください。

UPDATES1 私はこの記事を見つけた - 持っている>Django or similar for composite primary keys

残念ながら、受け入れ答えが原因の要求に私の場合には適用がありません(クライアントの仕様)は、二つのフィールド(UserInfo.userIdを、存在しますUserInfo.password)をGeoInfoに追加します。

UPDATES2 だから、djangoは複合外部キーをサポートしていないようです。どの回避策の人?

+0

タイトルにタグを入れないでください。 – ThiefMaster

答えて

0

モデルAを参照する2つのForeignKeyフィールドを持つことからあなたを守っていますか?

class Author(models.Model): 
    name = models.CharField(max_length=50) 

class Book(models.Model): 
    title = models.CharField(max_length=50) 
    author = models.ForeignKey(Author, related_name="primary_authors") 
    co_author = models.ForeignKey(Author, related_name ="co_authors") 

競合を防ぐには、必ず「related_name」を使用してください。これがあなたの質問に答えることができない場合、あなたがしようとしていることの例を提供することは助けになります...

+0

'primary_authors'と' co_authors'がどこにあるのか分かりません。実際の名前を持つように私の投稿を更新します。 – eros

+1

2つの外部キーは、複合外部キーとは異なるものです。 –

+0

@ypercubeそれを指摘してくれてありがとう。はい、そうです。 – eros

関連する問題