在Django中对模型对象进行分组

时间:2011-08-12 18:04:52

标签: python django database-design

我有一个包含2个模型的应用:ProductPhoto,每个模型都对应一个MySQL表(由MyISAM驱动)。

ProductForeignKey的{​​{1}}字段。多个Photo个对象可能共享一个Photo对象。

现在,问题是:我需要将Product个对象进一步细分为表示从不同方面拍摄的相同真实世界对象(产品实例)的集合。我想区分这些不同的真实世界对象,但仍然将它们全部连接到它们的Photo对象。

在数据库查询和手动数据输入的效率方面对照片进行分组的最佳方法是什么?


感谢@shawnwall,更多想法:

  • 可能Product不应与个别Product个对象相关联,而应连接到照片集。
  • 每个真实文字对象都应该有一套,即使现在只有一张照片。
  • 该集应由Photo表上的ID字段表示,在某些Photo个对象和Photo对象之间是通用的。 (那是什么样的领域?)

1 个答案:

答案 0 :(得分:1)

看起来你的方法到目前为止还不错。我考虑过从产品到照片的多个领域,但听起来并不像它需要的那样。您可以添加一个“方面”列,该列与照片表中的“选项”列表相关。还记得django会让你查询两种方式:

Photo.objects.filter(product__id=1)

Product.objects.filter(photo__id=2)

您也可以通过实例访问它们:

photo.product   

product.photo_set