Python 教程之 Django(7)Django 模型

简介: Python 教程之 Django(7)Django 模型

Django模型是Django用于创建表,其字段和各种约束的内置功能。简而言之,Django模型是与Django一起使用的数据库的SQL。SQL(结构化查询语言)很复杂,涉及许多不同的查询,用于创建,删除,更新或与数据库相关的任何其他内容。Django模型简化了任务并将表格组织成模型。通常,每个模型都映射到单个数据库表。

本文将介绍如何使用Django模型方便地将数据存储在数据库中。此外,我们可以使用Django的管理面板来创建,更新,删除或检索模型的字段以及各种类似的操作。Django模型提供简单性,一致性,版本控制和高级元数据处理。模型的基础知识包括 –

  • 每个模型都是一个Python类,它子类化了django.db模型。
  • 模型的每个属性都表示一个数据库字段。
  • 有了所有这些,Django为您提供了一个自动生成的数据库访问API。

例–

from django.db import models
# 在此处创建模型。
class GeeksModel(models.Model):
  title = models.CharField(max_length = 200)
  description = models.TextField()

Django将Django模型中定义的字段映射到数据库的表字段中,如下所示。

image.png

使用 Django 模型

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

创建模型

语法

arduino

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

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

# 从内置库导入标准Django模型
from django.db import models
# 声明一个名为“GeeksModel”的新模型
class GeeksModel(models.Model):
    # 模型的字段
  title = models.CharField(max_length = 200)
  description = models.TextField()
  last_modified = models.DateTimeField(auto_now_add = True)
  img = models.ImageField(upload_to = "images/")
    # 用标题名称重命名模型实例
  def __str__(self):
    return self.title

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

所以当我们运行时,

Python manage.py makemigrations

创建上述模型作为表的 SQL 查询,然后创建

Python manage.py migrate

在数据库中创建表。

现在我们已经创建了一个模型,我们可以执行各种操作,例如为表创建行或Django创建模型实例。  


目录
相关文章
|
4天前
|
机器学习/深度学习 搜索推荐 TensorFlow
使用Python实现深度学习模型:个性化推荐与广告优化
【7月更文挑战第22天】 使用Python实现深度学习模型:个性化推荐与广告优化
134 70
|
2天前
|
网络协议 开发者 Python
网络编程小白秒变大咖!Python Socket基础与进阶教程,轻松上手无压力!
【7月更文挑战第25天】在网络技术快速发展的背景下, Python因其简洁的语法和强大的库支持成为学习网络编程的理想选择。
20 5
|
1天前
|
机器学习/深度学习 存储 TensorFlow
使用Python实现深度学习模型:智能金融风控与信用评估
【7月更文挑战第25天】 使用Python实现深度学习模型:智能金融风控与信用评估
17 3
|
2天前
|
机器学习/深度学习 TensorFlow 数据处理
使用Python实现深度学习模型:医学影像识别与疾病预测
【7月更文挑战第24天】 使用Python实现深度学习模型:医学影像识别与疾病预测
15 4
|
4天前
|
机器学习/深度学习 数据可视化 开发者
视觉的力量!Python 机器学习模型评估,Matplotlib 与 Seaborn 如何助力决策更明智?
【7月更文挑战第23天】在Python机器学习中,模型评估不可或缺。Matplotlib与Seaborn作为数据可视化工具,助力洞察模型性能。Matplotlib基础灵活,构建复杂图表;Seaborn在其上层,简化绘图,提升美观。从折线图追踪损失到条形图对比准确率,两者互补,促进高效决策制定。尽管Matplotlib掌控力强,但Seaborn友好快捷,适于统计图形。结合使用,可将数据转化成深刻见解。
|
1天前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
【7月更文挑战第26天】在 Web 开发中, SQL 注入与 XSS 攻击常令人担忧, 但掌握正确防御策略可化解风险. 对抗 SQL 注入的核心是避免直接拼接用户输入至 SQL 语句. 使用 Python 的参数化查询 (如 sqlite3 库) 和 ORM 框架 (如 Django, SQLAlchemy) 可有效防范. 防范 XSS 攻击需严格过滤及转义用户输入. 利用 Django 模板引擎自动转义功能, 或手动转义及设置内容安全策略 (CSP) 来增强防护. 掌握这些技巧, 让你在 Python Web 开发中更加安心. 安全是个持续学习的过程, 不断提升才能有效保护应用.
7 1
|
2天前
|
机器学习/深度学习 数据采集 自然语言处理
机器学习新纪元:用Scikit-learn驾驭Python,精准模型选择全攻略!
【7月更文挑战第25天】在数据驱动的世界中, Scikit-learn作为顶级Python机器学习库,助力挖掘数据价值。本文以垃圾邮件识别为例,展示了其高效模型选择流程:从文本预处理至模型优化。使用TfidfVectorizer转换邮件文本,并通过Pipeline集成MultinomialNB分类器。通过GridSearchCV进行参数调优与交叉验证,评估不同模型(如随机森林)的表现,最终选定最佳模型。Scikit-learn简化了这一复杂过程,使其成为现代数据科学的必备工具。
9 2
|
3天前
|
机器学习/深度学习 搜索推荐 TensorFlow
使用Python实现深度学习模型:用户行为预测与个性化服务
【7月更文挑战第23天】 使用Python实现深度学习模型:用户行为预测与个性化服务
26 3
|
5天前
|
机器学习/深度学习 存储 数据可视化
特征选择的艺术:利用Scikit-learn提升模型性能
【7月更文第22天】在机器学习的实践中,特征选择是一项至关重要的步骤,它直接影响到模型的性能、训练速度以及对新数据的泛化能力。特征选择,或称为变量选择,旨在从原始特征集中识别并保留最相关、最有影响力的特征子集,同时剔除冗余或无关紧要的特征。本文将探讨特征选择的重要性,并通过使用Python中的Scikit-learn库演示几种有效的特征选择方法,以提升模型性能。
20 4
|
5天前
|
存储 JSON API
实战派教程!Python Web开发中RESTful API的设计哲学与实现技巧,一网打尽!
【7月更文挑战第22天】构建RESTful API实战:**使用Python Flask设计图书管理API,遵循REST原则,通过GET/POST/PUT/DELETE操作处理/books及/books/<id>。示例代码展示资源定义、请求响应交互。关键点包括HTTP状态码的使用、版本控制、错误处理和文档化。本文深入探讨设计哲学与实现技巧,助力理解RESTful API开发。
17 0