Django项目开发实战
上QQ阅读APP看书,第一时间看更新

2.4 商品库模块

商品库用来管理商品数据,它为用户界面展示商品提供了数据支撑,也给后端管理商品提供了支持。

高跟鞋有多个不同的品牌,每个品牌有多种商品,同种商品有多种尺码和颜色,本章将根据这样的业务需要来设计商品模块。

2.4.1 设计模型

不同商品可能有不同的类别,例如,高跟鞋可能有凉鞋、靴子等种类,根据这个应用场景,我们来建立简单的类别模型。代码如下:

接下来建立简单的商品模型。我们的想法很简单,对不同颜色的同种商品在名称上进行区分,这并不是很完善的做法,但是在简单的场景下是可行的。代码如下:

一件商品可能属于多种类型,多种商品可能属于同种类型,因此商品和商品类型存在着多对多的关系。我们为商品和类型的关系建立模型,代码如下:

2.4.2 获取商品

用户在浏览网页的时候,很有可能会带有目的,如“购买某个种类的鞋子”,这时我们就要帮助用户列出这个品类的所有商品供其挑选。示例代码如下:

某个品类下面可能有多种商品,因此上面的函数返回的是一个列表(如果只有一种商品,就返回只有一个元素的列表)。要渲染这个列表,可以使用Django模板中的for标签。示例代码如下:

用户可通过图片或简介获得商品的第一印象,若要继续获取更多商品信息,则需要根据商品ID来获取详情。示例代码如下: