📜  从零重建数据库 django postgres - Python (1)

📅  最后修改于: 2023-12-03 14:49:29.347000             🧑  作者: Mango

从零重建数据库 Django Postgres - Python

在本文中,我们将学习如何从头开始在Django中使用Postgres数据库来重建一个数据库。我们将探讨以下主题:

  1. 安装Postgres
  2. 创建一个Django项目
  3. 配置Django和Postgres
  4. 创建模型并进行迁移
安装Postgres

首先,需要安装Postgres。在Ubuntu上安装Postgres可以通过以下命令:

sudo apt-get install postgresql

安装完成后,需要创建一个用户,并为该用户分配一个密码:

sudo -u postgres createuser --interactive
sudo -u postgres psql
ALTER USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
创建一个Django项目

接下来,我们需要创建一个Django项目:

django-admin startproject myproject
cd myproject
配置Django和Postgres

为了将Django与Postgres数据库关联起来,需要在settings.py文件中进行配置。打开settings.py文件,并更改以下内容:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

这将告诉Django使用Postgres数据库作为默认数据库。

创建模型并进行迁移

接下来,我们需要创建一个模型。在Django中,模型是使用Python编写的类,它定义了需要在数据库中存储的数据和其属性。在项目的根目录中运行以下命令来创建一个简单的模型:

python manage.py startapp myapp

打开myapp/models.py,并添加以下内容:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    pub_date = models.DateField()

    def __str__(self):
        return self.title

这将创建一个名为Book的模型,其中包括一个title、一个author和一个pub_date字段,用于存储书籍的信息。

接下来,我们需要进行数据迁移。数据迁移是将模型更改应用于数据库的过程。在项目的根目录中,运行以下命令:

python manage.py makemigrations myapp
python manage.py migrate

这将在数据库中创建一个新的myapp_book表,我们可以使用以下命令来验证数据库中是否在成功地创建了Book表:

psql mydatabase
\dt

在终端中,将会显示出来一个myapp_book表。

结论

本文介绍了如何从头开始使用Postgres数据库在Django中创建一个新的数据库。我们探讨了安装Postgres、创建Django项目、配置Django和Postgres以及如何创建模型和进行数据迁移。最终,在数据库中成功创建了一个新的Book表,该表具有titleauthorpub_date三个字段,用于存储书籍的信息。