【Django】项目模型

Django的基本命令

django-admin

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

建立一个Django项目

python 复制代码
django-admin startproject project_name

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

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

创建一个Django应用

python 复制代码
django-admin manage.py startapp app_name

Django应用目录

views.py 处理视图

models.py 定义应用模型

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

apps.py 声明应用

tests.py 编写测试用例

urls.py 管理应用路由

模型层简介

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

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

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

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

python 复制代码
from django.db import models


# Create your models here.
class Job(models.Model):
    """

    id职位ID-int类型-自增-主键-IntegerField-AutoField-primary_key
    name职位名称-文本-TextField
    time发布日期-日期-DateTimeField
    cname公司名称-文本-TextField
    descript岗位描述-文本-TextField
    require岗位要求-文本-TextField
    urls投递链接-超链接-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 复制代码
python manage.py makemigrations

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

python 复制代码
python manage.py migrate

进入Djangoshell环境

python 复制代码
python manage.py shell

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

python 复制代码
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)
相关推荐
艾上编程9 小时前
第二章——数据分析场景之Python自动化统计分析:高效挖掘数据价值
python·数据分析·自动化
雨雨雨雨雨别下啦9 小时前
SSM+Spring Boot+Vue.js3期末复习
vue.js·spring boot·后端
高洁019 小时前
智能体大模型时代的AI革新者
人工智能·深度学习·算法·机器学习·django
轻竹办公PPT9 小时前
上传PDF直接生成PPT,适合工作汇报和总结场景
python·pdf·powerpoint
honder试试9 小时前
Springboot实现Clickhouse连接池的配置和接口查询
spring boot·后端·clickhouse
爬山算法9 小时前
Netty(11) Netty的心跳机制是什么?为什么需要它?
开发语言·python
武子康9 小时前
大数据-185 Logstash 7 入门实战:stdin/file 采集、sincedb/start_position 机制与排障
大数据·后端·logstash
java1234_小锋9 小时前
[免费]基于Python的Flask+Vue3在线图书(图书借阅)管理系统【论文+源码+SQL脚本】
python·python毕业设计·图书借阅·在线图书
派大鑫wink9 小时前
Python 大数据毕业设计:电影票房可视化分析系统(Flask+Echarts + 爬虫实战)
大数据·python·课程设计
JAVA+C语言10 小时前
Python+Django 核心介绍
开发语言·python·django