当前位置: 首页 > 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)

 

 

http://www.lryc.cn/news/212618.html

相关文章:

  • 字符集详解
  • Vert.x学习笔记-什么是Vert.x
  • AcWing 第127场周赛 构造矩阵
  • Seata入门系列【15】@GlobalLock注解使用场景及源码分析
  • Dubbo 路由及负载均衡性能优化
  • Python数据可视化入门指南
  • 我的ChatGPT的几个使用场景
  • 3 — NLP 中的标记化:分解文本数据的艺术
  • C++-类与对象(上)
  • 多进程间通信学习之无名管道
  • flink常用的几种调优手段的优缺点
  • 如何选择安全又可靠的文件数据同步软件?
  • 使用反射调用类的私有内部类的私有方法
  • 记一次 AWD 比赛中曲折的 Linux 提权
  • [SpringCloud] Feign 与 Gateway 简介
  • [Unity] 个人编码规范与命名准则参考
  • 堆栈与队列算法-以链表来实现队列
  • 快速入门:使用 Spring Boot 构建 Web 应用程序
  • 01.CentOS7静默安装oracle11g
  • SASE安全访问服务边缘
  • k8s集群升级
  • redis原理 主从同步和哨兵集群
  • 四季古诗赏析
  • 【网络协议】聊聊套接字socket
  • GEO生信数据挖掘(十一)STRING数据库PPI蛋白互作网络 Cytoscape个性化绘图【SCI 指日可待】
  • api接口更新钉钉文档
  • Android---如何同view进行渲染
  • 【LeetCode:26. 删除有序数组中的重复项 | 双指针】
  • 如何判断一个对象是不是一个空对象?
  • C/C++ “variable set but not used“的 警告问题解决方案