1.djangle默认使用SQLight数据库,没错就是你手机里面的那种默认数据库
当然,你可以切换任意数据库(sql体系的),具体的操作去查。我还是使用默认的吧,简单一点
2.创建模型
所谓模型,就是一个清晰而且真实的数据,包含必要的字段,DJAngle沿着DRYPrinciple,其目标是一旦定义这个模型,就能够自动驱动这个模型。接下来会有对这段话的解释。
我们定义两个模型
Question和Choice模型
2.1代开polls/models.py文件,创建Question,Choice对象,复制粘贴...
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)
2.2创建数据库迁移数据(数据库创建表,原文翻译起来奇奇怪怪的,就是在创建一张表)
python manage.py sqlmigrate polls 0001
这个sqlmigrate命令在做什么呢,再做
我们可以看键入这个命令之后输出的东西:
BEGIN;
--
-- Create model Question
--
CREATE TABLE "polls_question" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "question_text" varchar(200) NOT NULL, "pub_date" datetime NOT NULL);
--
-- Create model Choice
--
CREATE TABLE "polls_choice" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "choice_text" varchar(200) NOT NULL, "votes" integer NOT NULL, "question_id"
integer NOT NULL REFERENCES "polls_question" ("id") DEFERRABLE INITIALLY DEFERRED);
CREATE INDEX "polls_choice_question_id_c5b4b260" ON "polls_choice" ("question_id");
COMMIT;
很熟悉的sql语句,所以这个命令其实是在在SQLLight中建表CreateTable
然后我们就可以使用他了!
很简单,我们这里使用python的shell,当然在djangle里面内置了shell
使用命令行打开它
2.3执行增删改查
然后,我们先导入我们之前创建的Question模型
2.3.1 增操作
然后我们创建一个实例
対实例进行赋值
将实例存储到服务器里面
2.3.2查操作, 从数据库中读取该数据
从数据库中根据字段读取该数据
返回的是一个set
输出第一个
2.3.3 删操作
报not exist异常
2.3.4 改操作