Python - Django - ORM 常用字段

AutoField:

int 自增列,必须填入参数 primary_key=True

如果没有写 AutoField,则会自动创建一个列名为 id 的列

from django.db import models


class Person(models.Model):
    id = models.AutoField(primary_key=True)   # 自增的 id 主键

 

CharField:

字符类型,必须提供 max_length 参数, max_length 表示最大字符长度

from django.db import models


class Person(models.Model):
    id = models.AutoField(primary_key=True)   # 自增的 id 主键
    name = models.CharField(max_length=32)

 

IntegerField:

整数类型,范围在 -2147483648 到 2147483647

from django.db import models


class Person(models.Model):
    id = models.AutoField(primary_key=True)   # 自增的 id 主键
    name = models.CharField(max_length=32)
    age = models.IntegerField()

 

DateField:

日期字段,日期格式 YYYY-MM-DD,相当于 Python 中的 datetime.date()

from django.db import models


class Person(models.Model):
    id = models.AutoField(primary_key=True)   # 自增的 id 主键
    name = models.CharField(max_length=32)
    age = models.IntegerField()
    birthday = models.DateField(auto_now_add=True)

DatetimeField、DateField、TimeField 这三个时间字段,都可设置 auto_now_add、auto_now 属性

auto_now_add=True 的话,创建数据记录的时候会把当前时间赋给该字段

auto_now=True 的话,每次更新数据记录的时间会用来更新该字段

DateTimeField:

日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于 Python 中的 datetime.datetime()

 

执行命令:

manage.py@mysite2 > makemigrations app01
manage.py@mysite2 > migrate app01

去数据库中看一下

添加数据

只添加 name、age 字段

DateField 是添加这条数据的日期

posted @ 2019-08-01 18:38  Sch01aR#  阅读(206)  评论(0编辑  收藏  举报