django settings.py配置和model数据库配置

配置 settings.py 和 启动项目

1. setting.py修改

增加下列内容

python 复制代码
    'app01',
    'rest_framework',
    'django_filters',
    'drf_spectacular',

2.启动项目

运行项目先执行数据库相关操作,再启动 django 项目

数据库迁移操作

​python manage.py makemigrations​​​​

​python manage.py migrate

cmd 复制代码
(p2) PS D:\work\sweettalk-django4.2-main\code\project01> python manage.py migrate
Operations to perform:
  Apply all migrations: app01, admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying sessions.0001_initial... OK

启动Django服务

python manage.py runserver

cmd 复制代码
(p2) PS D:\work\sweettalk-django4.2-main\code\project01> python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
October 17, 2023 - 15:47:57
Django version 4.2.3, using settings 'project01.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

[17/Oct/2023 15:48:01] "GET / HTTP/1.1" 200 10664

3.表创建

python 复制代码
from django.db import models
from django.db.models import *

# Create your models here.

class GoodsCategory(models.Model):
    name = CharField(max_length=64, verbose_name='名称')
    remark = CharField(max_length=256, null=True, blank=True, verbose_name='备注')


class Goods(models.Model):        
    number = CharField(max_length=32, verbose_name='编号')
    name = CharField(max_length=64, verbose_name='名称')
    barcode = CharField(max_length=32, null=True, blank=True, verbose_name='条码')
    category = ForeignKey('app01.GoodsCategory', on_delete=SET_NULL, null=True,related_name='goods_set', verbose_name='产品分类')
    spec = CharField(max_length=64, null=True, blank=True, verbose_name='规格')            
    shelf_life_days = IntegerField(null=True, verbose_name='保质期天数')
    purchase_price = FloatField(default=0, verbose_name='采购价')
    retail_price = FloatField(default=0, verbose_name='零售价')
    remark = CharField(max_length=256, null=True, blank=True, verbose_name='备注')

​python manage.py makemigrations​​​​

​python manage.py migrate

需要注意的是表字段格式比较多,常用的表配置也比较多。

字段

CharField 用于存储字符串类型,有最大长度限制

IntegerField 用于存储整数类型

FloatField用于存储浮点数类型

BooleanField 用于存储布尔类型

DateField 用于存储日期类型

DateTimeField 用于存储日期和时间类型

ImageField 用于存储图片类型

FileField 用于存储文件类型

ForeignKey 外键 用于表示数据库表之间的关联关系

OneToOneField 一对一 用于表示一对一的关联关系

ManyToManyField 多对多 用于表示多对多的关联关系

配置

max_length 字段的最大长度限制,可以应用于多种不同的字段类型。

verbose_name 字段的友好名称,便于在管理员后台可视化操作时使用。

default 指定字段的默认值。

null 指定字段是否可以为空。

null=True 设置允许该字段为 NULL 值

blank 指定在表单中输入时是否可以为空白。

choices 用于指定字段的可选值枚举列表,在最上面定义

4.后台管理

在admin.py注册即可

python 复制代码
# Register your models here.
from django.contrib import admin
from .models import *  # 引入产品表

# 一定要分开逐个注册,不能放在一起

admin.site.register(Goods)
# 在admin站点中 注册产品表
admin.site.register(GoodsCategory)
# 在admin站点中 注册产品表

创建管理员:

cmd 复制代码
python manage.py createsuperuser
相关推荐
再吃一根胡萝卜1 小时前
使用 squashmigrations 命令优化 Django 迁移文件
python·django
BYSJMG6 小时前
计算机大数据毕业设计推荐:基于Spark的气候疾病传播可视化分析系统【Hadoop、python、spark】
大数据·hadoop·python·信息可视化·spark·django·课程设计
大得3697 小时前
django生成迁移文件,执行生成到数据库
后端·python·django
Q_Q19632884751 天前
python的电影院座位管理可视化数据分析系统
开发语言·spring boot·python·django·flask·node.js·php
BYSJMG1 天前
计算机大数据毕业设计推荐:基于Hadoop+Spark的食物口味差异分析可视化系统【源码+文档+调试】
大数据·hadoop·分布式·python·spark·django·课程设计
甄超锋1 天前
python sqlite3模块
jvm·数据库·python·测试工具·django·sqlite·flask
Q_Q5110082852 天前
python的软件工程与项目管理课程组学习系统
spring boot·python·django·flask·node.js·php·软件工程
wyiyiyi3 天前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
千层冷面4 天前
Flask ORM 查询详解:Model.query vs db.session.query vs db.session.execute
数据库·python·django·flask
王小王-1235 天前
基于Django的福建省旅游数据分析与可视化系统【城市可换】
数据分析·django·旅游·携程·福建省旅游可视化·旅游数据分析系统·景区数据分析