1.model简介
model在django的官方文档是这样解释的:
A model is the single, definitive source ofinformation about your data. It contains the essential fields and behaviors ofthe data you’re storing. Generally, each model maps to a single database table.
The basics:
Each model is a Python class thatsubclasses django.db.models.Model.
Each attribute of the model represents adatabase field.
With all of this, Django gives you anautomatically-generated database-access API; seeMakingqueries
简言之,model是对数据结构的定义,可以自动生成数据库。
根据项目,我们需要以下三张信息登记表格.
Node表:记录各节点情况
Line表:记录线路信息
Device表:记录设备情况
三张表中,我们认为设备基于节点建立,因此node表和device表是一对多的关系。
而对于大多数数据中心,都是一个数据中心多个分支节点的机构,所以我们也可以把它看成一个星状结构,那么可以和node形成一对一,或一对多的关系(因为有些分支可能是双线)。为了今后的扩展,我们将node和line表做一对多的关系处理。
2.三种数据库模式的区别:
One-to-onerelationships (一对一关系)
两个表中的字段有一对一的对应关系,最常用于对表的扩展。例如,Django有一张User表,如果你想对这张表扩充,但又不想影响它原来的表结构,那么可以生成一张Employee表,并与User表形成一对一的关系,之后我们会提到。
Many-to-onerelationships(多对一关系)
比如,一个车辆制造商可以制造出很多辆车,很多辆车都是由一个制造商生产的。在class中,需要用foreign-key字段显式地表明。