当前位置: 首页 > news >正文

【Django】项目模型

Django的基本命令

django-admin

命令含义
startproject启动Django项目
startapp启动Django应用
check检查项目完整性
runserver本地运行项目
shell进入Django项目的Python Shell环境
test        进行Django用例测试
makemigrations创建模型变更的迁移文件
migrate执行makemigrations命令创建的迁移文件
dumpdata将数据库的文件导出至文件
loaddata将文件中的数据导入至数据库

建立一个Django项目

django-admin startproject project_name

Django Project项目可以直接运行 Django App不可以直接运行

一个Project可以包含若干个App,每个App可以自己管理模型、视图、模板、路由和静态文件。

创建一个Django应用

django-admin manage.py startapp app_name

Django应用目录

views.py 处理视图

models.py 定义应用模型

admin.py 定义Admin模块管理对象

apps.py 声明应用

tests.py 编写测试用例

urls.py 管理应用路由

模型层简介

模型层处于视图层和数据库之间,作用是将Python对象和数据库表相互转换

模型层可以屏蔽不同数据库之间的差异,使得开发者更加专注于业务开发,可以提供数据库迁移等操作

DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3","NAME": BASE_DIR / "db.sqlite3",}
}

设置职位模型

  • 职位名称-文本-TextField
  • 发布日期-日期-DateTimeField
  • 公司名称-文本-TextField
  • 工作内容-文本-TextField
  • 岗位要求-文本-TextField
  • 投递链接-超链接-
  • 职位ID-int类型-自增-主键-IntegerField-AutoField-primary_key

职位模型的定义

定义一个类,引用model.Models

给模型中的字段招对应的模型

from django.db import models# Create your models here.
class Job(models.Model):"""id职位ID-int类型-自增-主键-IntegerField-AutoField-primary_keyname职位名称-文本-TextFieldtime发布日期-日期-DateTimeFieldcname公司名称-文本-TextFielddescript岗位描述-文本-TextFieldrequire岗位要求-文本-TextFieldurls投递链接-超链接-URLField"""job_id = models.AutoField(primary_key=True)job_name = models.TextField()job_date = models.DateTimeField(auto_now=True)job_cname = models.TextField()job_desc = models.TextField()job_req = models.TextField()job_urls = models.URLField()

在终端中执行makemigrations,创建迁移文件

python manage.py makemigrations

运行迁移文件,将迁移文件里的数据同步到数据库

python manage.py migrate

进入Djangoshell环境

python manage.py shell

创建Job对象,并进行实例化,在保存至数据库。 

from AnxinCampusRecruitment.models import Job
a = Job()
a.job_id=100
a.job_name="测试开发工程师"
a.job_date="2023-03-29"
a.job_cname="阿里巴巴"
a.job_desc="测试"
a.job_req="python,测试理论"
a.job_urls="www.baidu.com"
a.save()//保存至数据库
jobs=Job.objects.all()//获取所有Job对象
job=jobs[0]
print(job.job_cname)

 

 

相关文章:

  • 第四章 应用SysML基本特性集的汽车示例 P2(断更)|系统建模语言SysML实用指南学习
  • MATLAB算法实战应用案例精讲-【图像处理】机器视觉(基础篇)(八)
  • CSS3中的字体和文本样式
  • FreeRTOS_信号量之互斥信号量
  • 【SA8295P 源码分析 (一)】114 - 将Android GVM userdata文件系统从 EXT4 修改为 F2FS
  • PyG edge index 转换回 邻接矩阵
  • element-plus的el-tag标签关闭标签时的高亮显示逻辑
  • Ubuntu GCC切换源
  • echarts 地图迁徙与地图下钻
  • MySQL教程笔记
  • SpringBoot / Vue 对SSE的基本使用
  • springboot整合日志,并在本地查看
  • [PHP]pearProject协作系统 v2.8.14 前后端
  • Elasticsearch 集群分片出现 unassigned 其中一种原因详细还原
  • RSA 加密算法的原理与加密过程深度解析(下篇)
  • AHK 中 = 和 == 等比较运算符的用法
  • css选择器
  • Java多态
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • orm2 中文文档 3.1 模型属性
  • php的插入排序,通过双层for循环
  • Python学习之路13-记分
  • Redis在Web项目中的应用与实践
  • vagrant 添加本地 box 安装 laravel homestead
  • 从tcpdump抓包看TCP/IP协议
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 记一次用 NodeJs 实现模拟登录的思路
  • 两列自适应布局方案整理
  • 巧用 TypeScript (一)
  • 让你的分享飞起来——极光推出社会化分享组件
  • 日剧·日综资源集合(建议收藏)
  • 深入 Nginx 之配置篇
  • 使用API自动生成工具优化前端工作流
  • 微信开放平台全网发布【失败】的几点排查方法
  • 为视图添加丝滑的水波纹
  • 项目实战-Api的解决方案
  • 自动记录MySQL慢查询快照脚本
  • 【干货分享】dos命令大全
  • Android开发者必备:推荐一款助力开发的开源APP
  • kubernetes资源对象--ingress
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​低代码平台的核心价值与优势
  • #ifdef 的技巧用法
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (多级缓存)多级缓存
  • (二)linux使用docker容器运行mysql
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (四)Linux Shell编程——输入输出重定向
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)甲方乙方——赵民谈找工作