Django 教程 --- Django 模型

在这里插入图片描述
一个Django模块是内置的功能,Django使用创建表,他们的田地,和各种约束。简而言之,Django Models是与Django一起使用的SQL数据库。SQL(结构化查询语言)很复杂,涉及许多不同的查询,用于创建,删除,更新或与数据库有关的任何其他内容。Django模型简化了任务并将表组织到模型中。通常,每个模型都映射到单个数据库表。
本文围绕如何使用Django模型方便地将数据存储在数据库中展开。此外,我们可以使用Django的管理面板来创建,更新,删除或检索模型的字段以及各种类似的操作。Django模型提供了简单性,一致性,版本控制和高级元数据处理。模型的基础包括–

每个模型都是一个子类的Python类django.db.models.Model。

模型的每个属性代表一个数据库字段。

通过所有这些,Django为您提供了一个自动生成的数据库访问API。请参阅进行查询。

from django.db import models
  
# Create your models here.
class GeeksModel(models.Model): 
    title = models.CharField(max_length = 200)
    description = models.TextField()

Django将Django模型中定义的字段映射到数据库的表字段中,如下所示
在这里插入图片描述

使用Django模型
要使用Django模型,需要在其中运行一个项目和一个应用程序。启动应用程序后,可以在app / models.py中创建模型。在开始使用模型之前,让我们检查如何启动项目并创建名为geeks.py的应用程序

建立模型
句法

from django.db import models
        
class ModelName(models.Model):
        field_name = models.Field(**options)

要创建模型,请在geeks/models.py输入代码中,

# import the standard Django Model
# from built-in library
from django.db import models
  
# declare a new model with a name "GeeksModel"
class GeeksModel(models.Model): 
        # fields of the model
    title = models.CharField(max_length = 200)
    description = models.TextField()
    last_modified = models.DateTimeField(auto_now_add = True)
    img = models.ImageField(upload_to = "images/")
  
        # renames the instances of the model
        # with their title name
    def __str__(self): 
        return self.title

每当我们创建模型,删除模型或更新我们项目的任何models.py中的任何内容时。我们需要运行两个命令makemigrations和migrate。makemigrations基本上为预安装的应用程序(可以在settings.py中的已安装应用程序中查看)和生成的新模型(生成的模型)生成SQL命令,然后将其添加到已安装的应用程序中,而migration则在数据库文件中执行这些SQL命令。

Python manage.py makemigrations

创建要在表上方创建模型的SQL查询,并

 Python manage.py migrate

在Django管理界面中渲染模型
要在Django admin中渲染模型,我们需要进行修改app/admin.py。在geeks应用程序中转到admin.py并输入以下代码。从models.py导入相应的模型并将其注册到管理界面。

from django.contrib import admin
    
# Register your models here.
from .models import GeeksModel
    
admin.site.register(GeeksModel)

现在,我们可以检查模型是否已在Django Admin中呈现。Django管理界面可用于以图形方式实现CRUD(创建,检索,更新,删除)
在这里插入图片描述
Django CRUD –插入,更新和删除数据
Django使我们可以使用称为ORM(Object Relational Mapper)的数据库抽象API与它的数据库模型进行交互,即添加,删除,修改和查询对象。我们可以通过在项目目录中运行以下命令来访问Django ORM。

python manage.py shell

添加对象。
要创建相册模型的对象并将其保存到数据库中,我们需要编写以下命令:

>>> a = GeeksModel(
         title = “GeeksForGeeks”,
         description = “A description here”,
         img = “geeks/abc.png”
         )
>>> a.save()

检索对象
要检索模型的所有对象,我们编写以下命令:

>>> GeeksModel.objects.all()
<QuerySet [<GeeksModel: Divide>, <GeeksModel: Abbey Road>, <GeeksModel: Revolver>]>

修改现有对象
我们可以如下修改现有对象:

>>> a = GeeksModel.objects.get(id = 3)
>>> a.title = "Pop"
>>> a.save()

删除对象
要删除单个对象,我们需要编写以下命令:

>>> a = Album.objects.get(id = 2)
>>> a.delete()

验证模型中的字段
Django模型中的内置字段验证是所有Django字段预定义的默认验证。每个字段都带有来自Django验证程序的内置验证。例如,IntegerField带有内置验证,该验证只能存储整数值,并且也可以存储特定范围内的值。
在geeks应用models.py文件中输入以下代码

from django.db import models
from django.db.models import Model
# Create your models here.
  
class GeeksModel(Model): 
    geeks_field = models.IntegerField()
  
    def __str__(self): 
        return self.geeks_field

在运行makemigrations并在Django上迁移并渲染以上模型后,让我们尝试使用字符串“ GfG is Best ” 创建一个实例。
在这里插入图片描述
基本模型数据类型和字段列表
模型的最重要部分和模型唯一需要的部分是它定义的数据库字段的列表。字段由类属性指定。这是Django中使用的所有Field类型的列表。

在这里插入图片描述

展开阅读全文

05-08 875

v8worker

没有更多推荐了,返回首页

应支付0元
点击重新获取
扫码支付

支付成功即可阅读