模型

准确且唯一地描述了数据,涵盖了存储数据的重要字段及行为,每个模型都映射数据库一张表。

  • 每个模型都是一个Python的类,这些类继承于django.db.models.Model
  • 模型类的每个属性都相当于数据库里的一个字段。
  • 利用这些,Django将自动为生成访问数据库的API

示例

from django.db import models


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

first_namelast_name是模型的两个字段,每个都对应为一个类属性并映射数据库种表的一列。
当我们使用数据库迁移操作是,务必在命令行中先执行python manage.py makemigrtions命令,并确定编写的models.py所属的app已经在INSTALLED_APPS中进行注册后,再执行命令行操作。执行完操作之后,Django会在编写models.py文件的目录下的migrations文件夹中生成一个py文件,以上面示例执行命令后将会生成如下文件内容。

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Person',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('first_name', models.CharField(max_length=30)),
                ('last_name', models.CharField(max_length=30)),
            ],
        ),
    ]

python manage.py makemigrations命令执行之后,此时我们还需要将我们需要的模型同步至数据,通过python manage.py migrate即完成数据库同步的操作。

模型字段

模型字段是模型中最重要和唯一必须的内容。在编写模型字段的过程中,请不要使用clean、save、delete等Django内置的模型API名字,防止命名冲突。

字段命名的约束

  • Python关键字冲突,可能会导致语法错误。、
  • 字段名中不能有两个以上下划线在一起,两个下划线一起使用是Django中的查询语法。
0条评论

相关推荐

django教程

r

Django 2019-05-20 10:53:53

Celery

celery学习资料

Django 2019-05-25 18:41:55

Django-rest-framework教程

django-rest-framework教程。

Django 2019-07-18 16:33:26

django实用资料

django项目从0到1自己总结的实用的资料,大部分常用的功能这里都有

Django 2019-05-08 18:21:34