系列文章目录
备注:这里是Django系列文章的所有文章的目录
第一章(一) : Django框架如何创建项目、创建应用、创建templates;如何启动django项目;
第一章(二):Django框架的模式、路由、视图;
第一章(三):Django框架的视图函数、视图类的认识及常规使用;
第一章(四):Django框架的模板(DTL):变量、标签、模板过滤器、模板继承、配置模板文件(staticfiles)
备注:欢迎查阅python之Django框架,如有疑问,欢迎评论,一定回复!!!
文章目录
- 系列文章目录
- 前言
- 一、Django模型的定义
- 1.1 Model定义的示例
- 2.1 Django模型的字段常用类型
- 3.1 模型常用字段参数
- 3.1.1 数值型字段 DecimalField 的参数
- 3.1.2 时间日期类型字段: DatetimeField、DateField和TimeField 的参数
- 3.1.3 常用字段参数
- 二、使用步骤
- 1.引入库
- 2.读入数据
- 总结
前言
提示:这里是本文要记录的大概内容:
模型(Model)是 MTV 模式的重要组成部分。在 Django 框架中,主要通过模型来实现与数据库的交互功能,如数据的增加、删除、修改和查询,以及多表关联等。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Django模型的定义
在Diango框架中,模型用于描述数据库表结构。模型实例可以实现数据操作。一个
模型( Model)
对应一个数据库表
。模型中的字段
对应数据库表中的一个字段
。
在定义好一个模型后,Django 会提供数据库访问的一整套 API,从而自动在数据库中生成相应的数据表,这样就不需要使用 SOL 脚本创建表,或者在数据库中手工创建表格了,大大提高了开发效率。
1.1 Model定义的示例
- 在app4/models.py文件中:
from django.db import models
# Create your models here.
class UserBaseInfo(models.Model):
id = models.AutoField(verbose_name='编号', primary_key=True)
username = models.CharField(verbose_name='用户名称', max_length=30)
password = models.CharField(verbose_name='密码', max_length=20)
status = models.CharField(verbose_name='状态', max_length=1)
createdate = models.DateTimeField(verbose_name='创建日期', db_column='createDate')
def __str__(self):
return str(self.id)
class Meta:
verbose_name = '人员基本信息'
db_table = 'UserBaseInfo4'
在上述代码中,定义了一个人员基本信息的模型,其中包括编号、用户名称、密码、状态等段。这些字段有整数类型、字符类型和日期类型。每个字段还包括名称、长度、是否主键等参数;
2.1 Django模型的字段常用类型
data_types = {
"AutoField": "integer AUTO_INCREMENT",
"BigAutoField": "bigint AUTO_INCREMENT",
"BinaryField": "longblob",
"BooleanField": "bool",
"CharField": "varchar(%(max_length)s)",
"DateField": "date",
"DateTimeField": "datetime(6)",
"DecimalField": "numeric(%(max_digits)s, %(decimal_places)s)",
"DurationField": "bigint",
"FileField": "varchar(%(max_length)s)",
"FilePathField": "varchar(%(max_length)s)",
"FloatField": "double precision",
"IntegerField": "integer",
"BigIntegerField": "bigint",
"IPAddressField": "char(15)",
"GenericIPAddressField": "char(39)",
"JSONField": "json",
"OneToOneField": "integer",
"PositiveBigIntegerField": "bigint UNSIGNED",
"PositiveIntegerField": "integer UNSIGNED",
"PositiveSmallIntegerField": "smallint UNSIGNED",
"SlugField": "varchar(%(max_length)s)",
"SmallAutoField": "smallint AUTO_INCREMENT",
"SmallIntegerField": "smallint",
"TextField": "longtext",
"TimeField": "time(6)",
"UUIDField": "char(32)",
}
3.1 模型常用字段参数
3.1.1 数值型字段 DecimalField 的参数
该类型字段表示:固定精度十进制数。具体语法如下:
models.DecimalField(max digits=None, decimal places=None)
其中参数如下:
- maxdigits: 数字允许的最大位数
- decimal_places:小数的最大位数
3.1.2 时间日期类型字段: DatetimeField、DateField和TimeField 的参数
- 3个字段都有auto_now_add 和auto_now 参数
- auto_now_add : 将时间类型字段的值设置为创建时的时间,后期不能再次修改,比如用户注册时间。该参数默认为 False。一旦设置为 True,则无法在程序中手动为字段赋值。
- auto_now : 将时间类型字段设置为当前时间,比如用户登录时间、某条数据的最后修改时间。该参数默认为 False。一旦设置为 True,则无法在程序中手动为字段赋值。
如果要把时间类型字段设置为当前默认时间,并且还能在程序中进行修改,则使用如下代码:
from django.db import models
import django.utils.timezone as timezone
class User(models.Model):
createDate = models.DateTimeField('创建日期',default = timezone.now)
3.1.3 常用字段参数
- verbose_name : 设置字段的显示名称
- primary_key : 设置字段为主键
- editable :是否可以编辑,一般用于admin后台
- max_length : 设置字段的最大长度
- blank :若为True,则该字段允许为空值,在数据库中表现为空字符串。默认为False
- null : 若为 True,则该字段允许为空值,在数据库中表现为null。默认为 False
- default : 设置字段的默认值
二、使用步骤
1.引入库
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。