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


创建模型

语法

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创建模型实例。  



目录
相关文章
|
1天前
|
机器学习/深度学习 数据采集 前端开发
【Python机器学习专栏】模型泛化能力与交叉验证
【4月更文挑战第30天】本文探讨了机器学习中模型泛化能力的重要性,它是衡量模型对未知数据预测能力的关键。过拟合和欠拟合影响泛化能力,而交叉验证是评估和提升泛化能力的有效工具。通过K折交叉验证等方法,可以发现并优化模型,如调整参数、选择合适模型、数据预处理、特征选择和集成学习。Python中可利用scikit-learn的cross_val_score函数进行交叉验证。
|
1天前
|
机器学习/深度学习 数据可视化 前端开发
【Python机器学习专栏】机器学习模型评估的实用方法
【4月更文挑战第30天】本文介绍了机器学习模型评估的关键方法,包括评估指标(如准确率、精确率、召回率、F1分数、MSE、RMSE、MAE及ROC曲线)和交叉验证技术(如K折交叉验证、留一交叉验证、自助法)。混淆矩阵提供了一种可视化分类模型性能的方式,而Python的scikit-learn库则方便实现这些评估。选择适合的指标和验证方法能有效优化模型性能。
|
1天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】机器学习中的模型融合技术
【4月更文挑战第30天】模型融合,即集成学习,通过结合多个模型提升预测性能。常见方法包括:Bagging(如Random Forest)、Boosting(如AdaBoost、XGBoost)和Stacking。Python中可使用`scikit-learn`实现,例如BaggingClassifier示例。模型融合是机器学习中的强大工具,能提高整体性能并适应复杂问题。
|
1天前
|
机器学习/深度学习 Python
【Python 机器学习专栏】模型选择中的交叉验证与网格搜索
【4月更文挑战第30天】交叉验证和网格搜索是机器学习中优化模型的关键技术。交叉验证通过划分数据集进行多次评估,如K折和留一法,确保模型性能的稳定性。网格搜索遍历预定义参数组合,寻找最佳参数设置。两者结合能全面评估模型并避免过拟合。Python中可使用`sklearn`库实现这一过程,但需注意计算成本、过拟合风险及数据适应性。理解并熟练应用这些方法能提升模型性能和泛化能力。
|
1天前
|
机器学习/深度学习 数据可视化 TensorFlow
【Python 机器学习专栏】使用 TensorFlow 构建深度学习模型
【4月更文挑战第30天】本文介绍了如何使用 TensorFlow 构建深度学习模型。TensorFlow 是谷歌的开源深度学习框架,具备强大计算能力和灵活编程接口。构建模型涉及数据准备、模型定义、选择损失函数和优化器、训练、评估及模型保存部署。文中以全连接神经网络为例,展示了从数据预处理到模型训练和评估的完整流程。此外,还提到了 TensorFlow 的自动微分、模型可视化和分布式训练等高级特性。通过本文,读者可掌握 TensorFlow 基本用法,为构建高效深度学习模型打下基础。
|
2天前
|
算法 数据挖掘 Python
Python贝叶斯MCMC:Metropolis-Hastings、Gibbs抽样、分层模型、收敛性评估
Python贝叶斯MCMC:Metropolis-Hastings、Gibbs抽样、分层模型、收敛性评估
|
2天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 中的线性回归模型详解
【4月更文挑战第30天】本文介绍了Python中的线性回归模型,包括基本原理、实现步骤和应用。线性回归假设因变量与自变量间存在线性关系,通过建立数学模型进行预测。实现过程涉及数据准备、模型构建、参数估计、评估和预测。常用的Python库有Scikit-learn和Statsmodels。线性回归简单易懂,广泛应用,但对异常值敏感且假设线性关系。其扩展形式如多元线性、多项式回归和正则化方法能适应不同场景。理解并运用线性回归有助于数据分析和预测。
|
2天前
|
Python
Python随机波动性SV模型:贝叶斯推断马尔可夫链蒙特卡洛MCMC分析英镑/美元汇率时间序列数据|数据分享
Python随机波动性SV模型:贝叶斯推断马尔可夫链蒙特卡洛MCMC分析英镑/美元汇率时间序列数据|数据分享
|
2天前
|
资源调度 数据可视化 Python
Python随机波动模型Stochastic volatility,SV随机变分推断SVI分析标普500指数时间数据波动性可视化
Python随机波动模型Stochastic volatility,SV随机变分推断SVI分析标普500指数时间数据波动性可视化
|
2天前
|
机器学习/深度学习 PyTorch 算法框架/工具
Python用GAN生成对抗性神经网络判别模型拟合多维数组、分类识别手写数字图像可视化
Python用GAN生成对抗性神经网络判别模型拟合多维数组、分类识别手写数字图像可视化