2011-08-12 10 views
0

私は、ProductPhotoの2つのモデルを持つアプリケーションを持っています。それぞれのモデルは、MyISAMによって駆動されるMySQLテーブルに対応しています。Djangoでのモデルオブジェクトのグループ化

Productは、ForeignKeyフィールドがPhotoである。複数のPhotoオブジェクトが1つのProductオブジェクトを共有することがあります。

今、質問:別の側面から撮影された同じ現実世界のオブジェクト(製品のインスタンス)を表すセットにオブジェクトをさらにサブグループ化する必要があります。私はこの異なる実世界のオブジェクトを区別したいが、それらのオブジェクトをすべてProductオブジェクトに接続させておく。

データベースのクエリと手動データ入力の両方の効率を考慮して、写真をグループ化する最も良い方法は何ですか?


@shawnwallのおかげで、より多くのアイデア:

  • たぶんProductはない個々のPhotoのオブジェクトではなく写真のセットに接続する必要があります。
  • 実際の写真の写真が1枚しかない場合でも、各実在のオブジェクトには1つのセットが必要です。
  • このセットは、特定のPhotoオブジェクトとProductオブジェクトに共通のPhotoテーブルのIDフィールドで表される必要があります。 (どのような分野ですか?)
+0

を使用すると、貼り付けることができまた、Djangoはあなたが両方の方法を照会できるようになる覚えています2つのオブジェクトの現在のモデル定義で? – shawnwall

+0

@shawnwall、確か:http://codepad.org/Qok7S1pK – katspaugh

答えて

1

これまでのところ、あなたのアプローチのように思えます。私は製品から写真まで、多くの分野を考慮しましたが、必要なようには聞こえません。写真テーブルの「選択肢」のリストに関連する「アスペクト」列を追加することができます。

Photo.objects.filter(product__id=1) 

または

Product.objects.filter(photo__id=2) 

ます。また、インスタンスを介してそれらにアクセスすることができます:

photo.product 

または

product.photo_set 
関連する問題