2011-08-12 65 views
0

我有一個應用程序使用2個模型:ProductPhoto,每個對應一個MySQL表(由MyISAM驅動)。在Django中分組模型對象

Product是一個ForeignKey字段Photo。幾個Photo對象可能共享一個Product對象。

現在,問題:我需要Photo對象進一步分組成代表從不同方面拍攝的同一個真實世界對象(產品實例)的集合。我想區分這些不同的真實世界對象,但仍然將它們全部連接到它們的Product對象。

根據數據庫查詢和手動數據輸入的效率對照片進行分組的最佳方式是什麼?


由於@shawnwall,更多的想法:

  • 也許Product應接不單獨Photo對象,但對套照片。
  • 即使現在只有1張照片,每個實詞對象都應該有一組。
  • 該集合應該由Photo表中的ID字段表示,它在某些Photo對象和Product對象之間通用。 (什麼樣的領域呢?)
+0

可以粘貼在你當前的兩個對象的模型定義中? – shawnwall

+0

@shawnwall,當然:http://codepad.org/Qok7S1pK – katspaugh

回答

1

似乎你的方法是體面的到目前爲止。我認爲從產品到照片都有許多不同的領域,但聽起來並不像它需要的那樣。您可以在照片列表中添加與「選擇」列表相關的「縱橫比」列。還記得Django將讓你查詢兩種方式:

Photo.objects.filter(product__id=1) 

Product.objects.filter(photo__id=2) 

您也可以通過實例訪問它們:

photo.product 

product.photo_set