Django学习笔记(二)
六、创建模型
在manage.py同一目录中创建新的应用程序:
python manage.py startapp polls
这将创建一个投票应用,其目录结构如下:
polls/
__init__.py
admin.py
migrations/
__init__.py
models.py
tests.py
views.py
根据需求设计好数据库的表
并在polls/models.py中创建对应的类:
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
Field类:
(1)CharField()
max_length为其必选参数
(2)IntegerField()
default为其可选参数
(3)DateTimeField()
(4)TextField()
(5)ForeignKey()
外键,on update和on delete是数据库外键定义的一个可选项。
on update 和 on delete 后面可以跟的词语有四个
no action , set null , set default ,cascade
no action 表示不做任何操作,
set null 表示在外键表中将相应字段设置为null
set default 表示设置为默认值
cascade 表示级联操作
no action 表示不做任何操作,
set null 表示在外键表中将相应字段设置为null
set default 表示设置为默认值
cascade 表示级联操作
on update cascade是级联更新的意思,on delete cascade是级联删除的意思
注:提供给Field类的第一个参数可以指定一个人类可读的名字,缺省为实例名
七、激活模型
(1)在models.py中创建或者更改你的模型
(2)运行python manage.py makemigrations提交更改
(3)运行python manage.py migrate将更改应用于数据库
八、创建管理员用户
python manage.py createsuperuser
时区设置
在settings.py中设置TIME_ZONE = 'Asia/Shanghai',USE_TZ = True
获取时间使用django.utils.timezone.now()