Django的初步体验(二)数据库

接着上次的项目继续,首先需要运行python manage.py migrate,该命令会在数据库文件中创建些基本的配置表。(这里使用的是sqlist3 官方自带的)


SQLiteSpy可视化工具,用工具打开db.sqlite3就会看到创建了这些表。

官方的小例子是投票功能,我也就按着官方例子继续。

接下来创建些新的表,Question和choice两个表,修改myapp/models.py文件

from django.dbimport models

# Create your models here.

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)

Model函数API可以查看官方文档,其实这里也就是创建两种表和一些字段。

然后在mysite/settings.py文件下INSTALLED_APPS中添加我们的配置如下

python manage.py makemigrations myapp命令生成相应的sql语句

有兴趣的也可以打开生成的文件看看,或者python manage.py sqlmigrate myapp 0001输出sql信息也可以。这里主要就是看看语句是否正确,或者有哪里需要改动都可以手动改正,这里官方说明sql语句的生成和配置的数据库有关,也就是说不同数据库的sql语句都会自己适配,不需要手动修改(django是真的爽)。另外还提供python manage.py check可以帮助检查项目问题,不会对数据库进行操作。

接下来在执行python manage.py migrate然后我们创建的两个表就会生成。

这就是django数据迁移的基本使用,只需要牢记这三步就好

1.修改app/models.py,添加配置

2.运行python manage.py makemigrations app生成迁移脚本

3.运行python manage.py migrate进行数据库操作

关于django manage.py更多的工具可以查看官方文档。

如果对django  shell操作有兴趣的可以下官方API  运行python manage.py shell

接下来使用django的用户管理工具,admin。

首先创建一个用户python manage.py createsuperuser,输入用户名、邮箱、密码。

启动服务器python manage.py runserver 打开浏览器http://127.0.0.1:8000/admin,输入账户密码。

这里没有看到我新建的表管理,所以还需在app/admin.py文件内添加我们的表。

刷新网页

这里就可以看到我们的表了,功能就是增删改查相关,具体自己体验下就好。

总结下:

    虽然用的官方自带的sqlite3,但是应该换成别的也是这样用,使用到现在就一个感觉“爽”。django开发果真效率是真是不想多解释,谁用谁知道。至于在深入的问题我还不清楚,现在也属于自己慢慢摸索。

你可能感兴趣的:(Django的初步体验(二)数据库)