Django 模型

水深无声 2022-04-25 06:50 371阅读 0赞

Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用。

1. 新建项目和应用

打开CMD,进入到django的bin目录下(C:\Users\Kandy\AppData\Local\Programs\Python\Python37\Django-2.2.1\django\bin),键入以下命令:

  1. django-admin.py startproject learn_models # 新建一个项目
  2. cd learn_models # 进入到该项目的文件夹
  3. python manage.py startapp people # 新建一个 people 应用(app)

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbGxva2FuZHk_size_16_color_FFFFFF_t_70

补充:新建app这里用 python manage.py startapp people(创建项目会生成一个 manage.py 文件)。需要指出的是,一些资料上提到 django-admin.py 是安装Django后多出的一个命令,但是本人在cd到project目录(learn_models文件夹)下后执行django-admin.py startapp people时,会有错误提示的。

那project和app什么关系呢?

一个项目一般包含多个应用,一个应用也可以用在多个项目中。

2、添加应用

将新建的应用(people)添加到 settings.py 中的 INSTALLED_APPS 中,也就是告诉Django有这么一个应用。

  1. # Application definition
  2. INSTALLED_APPS = [
  3. 'django.contrib.admin',
  4. 'django.contrib.auth',
  5. 'django.contrib.contenttypes',
  6. 'django.contrib.sessions',
  7. 'django.contrib.messages',
  8. 'django.contrib.staticfiles',
  9. 'people',#添加应用
  10. ]

#

3. 修改models.py

打开 people/models.py 文件,修改其中的代码如下:

  1. from django.db import models
  2. # Create your models here.
  3. '''
  4. 以下的类名代表了数据库表名,且继承了models.Model,
  5. 类里面的字段代表数据表中的字段(name),数据类型则由CharField(相当于varchar),max_length 参数限定长度。
  6. '''
  7. class person(models.Model):
  8. user_name = models.CharField(max_length=32)
  9. user_age = models.IntegerField()
  10. user_sex = models.SmallIntegerField()

新建了一个person类,继承自models.Model, 一个人有姓名、年龄和性别。

4. 创建数据表

Django中,我们使用models来定义表,并且尽量不要跳过Django手动操作数据表。

同步数据库(使用默认的数据库 SQLite3,无需配置),先cd进入manage.py所在的那个文件夹下,输入下面的命令:

  1. python manage.py makemigrations
  2. python manage.py migrate

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbGxva2FuZHk_size_16_color_FFFFFF_t_70 1

打开工程目录下的db.sqlite3文件,可以看到刚才新建的表:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbGxva2FuZHk_size_16_color_FFFFFF_t_70 2

表名组成结构为:应用名_类名(如:people_person)。

注意:尽管我们没有在models给表设置主键,但是Django会自动添加一个id作为主键。

5、数据库操作

发表评论

表情:
评论列表 (有 0 条评论,371人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Django模型

    Django 模型 Django 对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。 Django 为这些数据库提供了

    相关 Django模型

    Django模型 Django对各种数据库提供了很好的支持。包括MySQL,SQLite,Orcale等。 Django为这些数据库提供了统一的调用api。可以根据不同

    相关 Django 模型

    Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要