• django orm 不等于

    django orm 不等于from django.db.models import Q PeopleModel.objects.filter(~Q(itype="虚拟")).all()

    Django 6 人阅读 0 条评论
  • django 使用transcation处理数据库事务管理

    使用背景:比如在生成订单时,需要一次性生成多条数据记录或者一次操作多个orm模型,而这些操作都会有可能在中途发生意外,因此需要用事物管理数据库事务Django 默认的事务行为Django 默认的事务行为是自动提交。除非事务正在执行,每个查询将会马上自动提交到数据库。Django 自动使用事务或还原点,以确保需多次查询的 ORM 操作的一致性,特别是 delete() 和 update() 操作。由于性能原因,Django 的 TestCase 类同样将每个测试用事务封装起来是视图函数中使用事务管理第一步需要在setting.py更改DataBase连接,将ATOMIC_REQUESTS设置为

    Django 108 人阅读 0 条评论
  • django sitemap网址数量太多优化方法

    如果对django sitemap不太熟悉,请阅读:django sitemap网站地图生成详解优化代码如下:sitemap.pyfrom django.contrib.sitemaps import Sitemap class PeopleViewSitemap(Sitemap):     priority = 1     changefreq = 'daily'     

    Django 190 人阅读 0 条评论
  • django form设置默认初始值

    背景使用django,在django使用form进行数据格式化,个别字段会有有一个默认值,使用initial设置默认值,但是在form.is_valid后,发现字段没有默认值。原因在django中,initial不等于默认值,相关链接:https://docs.djangoproject.com/fr/3.0/ref/forms/api/#dynamic-initial-values 字段的初始值打算在HTML中显示。但是,如果用户删除该值,并最终为此字段发送回空白值,则该initial值将丢失。因此,您无法获得默认行为所期望的结果。该默认行为是:如果值验证过程将采取data说法不包含字段的任

    Django 229 人阅读 0 条评论
  • django templates模板过滤器过滤掉字符串含有的html标签

    django templates模板过滤器过滤掉字符串含有的html标签在template用法:{{ myvar|striptags }}如果myvar的字符串是“吾爱孟夫子,风流天下闻。<br>红颜弃轩冕,白首卧松云。<br>醉月频中圣,迷花不事君。<br>高山安可仰,徒此揖清芬。<br>”,那么输出结果是:吾爱孟夫子,风流天下闻。红颜弃轩冕,白首卧松云。醉月频中圣,迷花不事君。高山安可仰,徒此揖清芬。如果想要在python django的视图函数中使用,在python用法:class AddressForm(fo

    Django 295 人阅读 0 条评论
  • django templates模板过滤器限制字符数

    django 使用templates模板过滤器限制字符数如果需要阶段是字符串,则可以利用切片过滤器,它会将字符串视为字符列表。如果是一组单词,则粗略的等价词是truncatewords。truncatewords...在截断结果的末尾还添加了省略号。slice使用示例:{{ variable|slice:":255" }}truncatewords使用示例:{{ variable|truncatechars:255 }}参考:https://docs.djangoproject.com/en/dev/ref/templates/bui

    Django 291 人阅读 0 条评论
  • django 当指定的对象不存在时,如何从DetailView重定向redirect ?

    利用DetailView的get_object方法引发Http404,如果对象不存在于查询集存在异常。除了覆盖get_object方法之外,您还可以在视图的get方法中捕获异常:解决思路from django.http import Http404 from django.views.generic import DetailView from django.shortcuts import redirect class MyDetailView(DetailView):  &nb

    Django 268 人阅读 0 条评论
  • python django.db.utils.InterfaceError: (0, '')解决思路

    提示错误信息:django.db.utils.InterfaceError: (0, '')数据库断开原因:因为数据库的默认wait_timeout=28800,单位为s,换算为小时则是8小时(和mysql设置信息有关系)。也就是我的服务一旦启动,那么在8个小时之后就会被mysql自动断开。解决思路这是由全局游标引起的。尝试在每个方法内创建和关闭游标,这需要原始查询。代码:cursor = connection.cursor() cursor.execute(query) cursor.close()或者是使用withwith 

    Django 300 人阅读 0 条评论
  • django 使用runserver启动时发现个别websocket连接会自动中断

    django 使用runserver启动时发现个别websocket连接会自动中断解决方法:第一种方法:使用uvicorn安装:python -m pip install uvicorn在uvicorn中运行uvicorn myproject.asgi:application如果遇到错误 提示django不支持websocket可以尝试asgi.py复制到和setting.py同一目录第二种方法:使用daphne安装:python -m pip install daphne在daphne中运行daphne

    Django 311 人阅读 0 条评论
  • django orm使用group by查询数据

    背景:想要使用django中orm实现以下sql语句的功能:SELECT ptype, COUNT(ptype) AS dcount FROM people GROUP BY ptype使用django的ORM聚合功能from django.db.models import Count People.objects.values('ptype').annotate(dcount=Count('ptype'))上述查询等同于sql语句:SELECT&nbs

    Django 343 人阅读 0 条评论