Django之模型

模型

模型是您的数据唯一而且准确的信息来源。它包含您正在储存的数据的重要字段和行为。一般来说,每一个模型都映射一个数据库表。

基础:

每个模型都是一个 Python 的类,这些类继承

模型类的每个属性都相当于一个数据库的字段

Django提供一个自动生成访问数据库的 API

快速上手

这个样例模型定义了一个, 其拥有和:

fromdjango.dbimportmodels

classPerson(models.Model): first_name=models.CharField(max_length=30) last_name=models.CharField(max_length=30)

和是模型的字段。每个字段都被指定为一个类属性,并且每个属性映射为一个数据库列。

上面的模型会创建一个如下的数据库表:

CREATETABLEmyapp_person (

"id"serialNOTNULLPRIMARYKEY,

"first_name"varchar(30)NOTNULL,

"last_name"varchar(30)NOTNULL

);

一些说明:

该表的名称 “myapp_person” 是自动从某些模型元数据中派生出来,但可以被改写。

一个字段会被自动添加,但是这种行为可以被改写。

使用模型

一旦你定义了你的模型,你需要告诉 Django 你准备*使用*这些模型。你需要修改设置文件中的,在这个设置中添加包含你文件的模块的名字。

例如,如果模型位于你项目中,:setting:`INSTALLED_APPS应设置如下:

INSTALLED_APPS=[

#...'myapp',

#...

]

When you add new apps to, be sure to run, optionally making migrations for them first with.

字段

模型中最重要的、并且也是唯一必须的是数据库的字段定义。字段在类中定义。

举例:

fromdjango.dbimportmodels

classMusician(models.Model): first_name=models.CharField(max_length=50) last_name=models.CharField(max_length=50) instrument=models.CharField(max_length=100)

classAlbum(models.Model): artist=models.ForeignKey(Musician, on_delete=models.CASCADE) name=models.CharField(max_length=100) release_date=models.DateField() num_stars=models.IntegerField()

字段类型

字段类型用以指定数据库数据类型(如:,,)

谢谢!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180805G13SFQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券