Django
文章平均质量分 80
山笑i
allskill.top
展开
-
解决django-celery-beat提示数据库配置错误,不支持多数据库的问题
1. 问题复现在某天写完一个 celery 定时任务时,启动 celery 后正准备启动 celery-beat,突然发现弹出大量警告然后退出了进程,往上翻果然发现报错celery beat v5.1.2 (sun-harmonics) is starting.[2021-11-01 18:32:11,917: INFO/MainProcess] beat: Starting...[2021-11-01 18:32:12,071: CRITICAL/MainProcess] beat raised原创 2021-11-03 16:08:47 · 1073 阅读 · 1 评论 -
Django合并清理migrations文件
随着项目开发进程,对 model 的不断修改将生成越来越多的 migrations 文件,对项目维护造成很多麻烦,所以需要对目前项目里的迁移文件进行合并操作1. 初始项目项目此时处于初期,数据库中无重要数据,不担心数据或者表出现问题直接删除各个文件夹下 migration 文件夹中迁移文件lists=$(ls)for i in $lists;do ls -d $i/migrations/* | grep -v '__init__.py' | xargs rm -rfdone重新生成迁.原创 2021-10-14 14:37:20 · 743 阅读 · 0 评论 -
Django 迁移过程及常见操作
在 Django 中,数据库迁移涉及三个部分Models:只记录了现在的 Model 是什么样子的;Migrations:记录了 Model 从创建开始到每一次的修改记录django_migrations 表:migrations 迁移执行时会在该表中记录每一次操作,我们回退版本以及确认是否执行迁移都是通过这张表1. 操纵 model 的流程和原理正常的顺序是:修改模型 model -> 执行 makemigrations -> 执行 migrate而在这一过程中,Djang原创 2021-10-14 14:31:58 · 2778 阅读 · 1 评论 -
Django QuerySet优化
参考:https://docs.djangoproject.com/zh-hans/3.2/topics/db/optimizationhttps://www.jianshu.com/p/aded5b2029f6https://angysmark.medium.comhttps://www.kawabangga.com/posts/4484Django 的 ORM 属于 Python 众多 ORM 选项中综合性能较高的 ORM 之一,同时作为 Django 高耦合的核心模块,我们在此必须投入十.原创 2021-10-11 18:45:27 · 1508 阅读 · 1 评论 -
Django ORM中的N+1问题
N+1 查询问题是一个长期存在的数据库性能问题。它影响了许多 ORM 和自定义 SQL 代码,Django 的 ORM 也不能幸免Django Object-Relational Mapper(ORM) 作为 Django 比较受欢迎的特性,在开发中被大量使用。我们可以通过它和数据库进行交互,实现 DDL 和 DML 操作.QuerySet 本质上是通过在预先定义好的 model 中的 Manager 和数据库进行交互,Manager 是 Django model 提供数据库查询的一个接口,在每个 .原创 2021-09-28 11:00:21 · 1322 阅读 · 3 评论 -
消除Django的RuntimeWarning:DateTimeField警告
一个看着很难受的警告/python3.9/site-packages/django/db/models/fields/init.py:1416: RuntimeWarning: DateTimeField XXXXXXModel.xxx_time received a naive datetime (2021-06-30 17:00:00) while time zone support is active.warnings.warn(“DateTimeField %s received a naiv原创 2021-06-23 10:56:18 · 4486 阅读 · 0 评论 -
Django ASGIHandler 源码 - DB连接部分
无论是asgi还是wsgi协议,均已application为调用入口点1. asgi入口点def get_asgi_application(): """ The public interface to Django's ASGI support. Return an ASGI 3 callable. Avoids making django.core.handlers.ASGIHandler a public API, in case the internal impl原创 2021-02-18 16:17:38 · 553 阅读 · 0 评论 -
Django实现简单网页弹出警告
功能所在位置该功能运用了django.contrib.messages这个库,再django项目中srtting.py文件中的38行,APP注册部分INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.con...原创 2019-04-20 19:16:09 · 6251 阅读 · 0 评论 -
Django获取指定列的数据
model一般都是有多个属性的,但是很多时候我们又只需要查询特定的某一个,这个时候可以用到values和values_list二者简介[values()](https://docs.djangoproject.com/en/1.9/ref/models/querysets/#values)values()¶values(*fields)¶Returns a QuerySet that ...原创 2019-04-06 14:01:35 · 3199 阅读 · 0 评论 -
Django2.2报错——AttributeError: ''str'' object has no attribute ''decode''
方法说明Django2.2报错–AttributeError: ‘str’ object has no attribute 'decode’的解决方案,仅算是临时解决,所有更好的解决方案应该斟酌使用本方法报错信息G:\book_pulisher>python manage.py runserverWatching for file changes with StatReloader...原创 2019-04-05 14:58:43 · 16380 阅读 · 16 评论 -
Django 创建超级用户
运行命令python manage.py createsuperuser输入用户名Username (leave blank to use ‘administrator’): user01 # 换成你的想要的输入email:Email address: (在这里输入你的自己的邮箱帐号)输入密码需要输入两次,并且输入密码时不会显示出来:Password:Passwo...原创 2019-01-27 19:47:09 · 2809 阅读 · 0 评论 -
Django——ORM基础操作
一,为什么使用ORM: 1。不同的程序员写的SQL水平参差不齐 2。执行效率也参差不齐二,python语法 - 自动翻译 - > SQL语句jQuery DOM$("#d1") --自动翻译--> document.getElementById("d1")三,ORM优缺点 优点...原创 2018-08-20 15:52:43 · 473 阅读 · 0 评论 -
Django接收Form表单信息出现403错误
Django的项目中,HTML页面中表单提交表单后出现403错误,且未获取到提交信息,问题原因: Django的针对提交的请教,会进行校验校验 解决方案 1: 导入模块from django.views.decorators.csrf import csrf_exempt # 解决校验问题造成的403错误 并在对应函数前面加上修饰器:@csrf...原创 2018-08-20 14:43:52 · 681 阅读 · 0 评论 -
Django —— ORM定义外键报错:TypeError: __init__() missing 1 required positional argument: 'on_delete'
在Django项目中,使用ORM在models.py中新建数据表定义外键的时候语句如下:publisher_id = models.ForeignKey(to="Publisher")报错信息为:TypeError: __init__() missing 1 required positional argument: 'on_delete'解决方案:在ForeignKey中...原创 2018-08-23 10:41:52 · 1675 阅读 · 0 评论 -
Django —— ORM对MySQL数据库的增删改查
一篇上文章录了Django的项目中ORM操作数据库的相关配置接下来介绍一下具体对是数据库实现增删改查的操作:首先,项目结构如下(Python3.6版本) 一,数据库连接准备首先,在day03,目录下的setting.py文件中配置连接数据的参数(的MySQL为例)DATABASES = ...原创 2018-08-22 16:05:19 · 6270 阅读 · 2 评论