美文网首页
django基础之01 Model介绍

django基础之01 Model介绍

作者: iCloudEnd | 来源:发表于2019-03-11 10:42 被阅读45次

    Model介绍

    model是关于数据的唯一、准确的信息描述。它包含数据的必要字段和行为。通常每个模型都映射到一个数据表。

    • 每个model都是一个python的类,所以model对象都是django.db.models.Model的子类。
    • 每个model的属性都是代表一个数据库表上的一个字段。
    • django为您准备好了数据库的访问API

    快速demo

    下面的demo中,我们首先定义一个Person,然后给Person添加first_name 和last_name属性。

    from django.db import models
    
    class Person(models.Model):
        first_name = models.CharField(max_length=30)
        last_name = models.CharField(max_length=30)
    
    

    first_name 和 last_name 都是model的属性,而且在代码中都明确了他们的类型,并且每个属性都对应到数据库上的一个字段。

    上面的代码对应到数据库层面就是如下sql语句

    CREATE TABLE myapp_person(
        "id" serial NOT NULL PRIMARY KEY,
        "first_name" varchar(30) NOT NULL,
        "last_name" varchar(30) NOT NULL
    );
    

    相关技术细节

    • 数据库表名myapp_person是由系统根据model的metadata信息进行自动生成。更多信息可以看table-names
    • id 属性是自动添加的,但是这个behavior是可以被重写的。
    • 上面的sql语句是PostgreSQL的语法,您可以子啊settings里面配置具体数据库类型

    相关文章

      网友评论

          本文标题:django基础之01 Model介绍

          本文链接:https://www.haomeiwen.com/subject/erjvpqtx.html