Loading

随笔分类 -  python / django

摘要:1. 子查询用 count 作为返回值 期望的 SQL 类似于: select (select count(*) from child where child.pid = parent.id) as auth_exists from parent 写法: subquery = Subquery(Ch 阅读全文
posted @ 2024-06-28 23:35 kingron 阅读(90) 评论(0) 推荐(0)
摘要:问题 想要在 orm 中定义外键,便于关联查询,但不想在数据库中生成实际的外键约束。 解决方式 Django 的 ForeignKey 和数据库的 FOREIGN KEY 并不一样。Django 的 ForeignKey 是一种逻辑上的两个表的关联关系,可以指定是否使用数据库的 FOREIGN KE 阅读全文
posted @ 2024-06-25 22:36 kingron 阅读(317) 评论(0) 推荐(0)
摘要:代码如下: from django.db import connections with connections['db_to_create_a_table_in'].schema_editor() as schema_editor: schema_editor.create_model(YourU 阅读全文
posted @ 2024-06-25 22:28 kingron 阅读(40) 评论(0) 推荐(0)
摘要:1. Django 的 QuerySet 是惰性的 Django 的 QuerySet 对应于数据库的若干记录(row),通过可选的查询来过滤。例如,下面的代码会得到数据库中名字为 Dave 的所有的人: person_set = Person.objects.filter(first_name=" 阅读全文
posted @ 2024-06-25 22:26 kingron 阅读(82) 评论(0) 推荐(0)
摘要:select_related 方法 在常规 models 操作中,某些对于关联表的查询稍有不慎可能导致产生多次查询,如: # views.py from . import models def test(request): '''假设有一张user表,其关联表为`usertype`,关联字段为`ut 阅读全文
posted @ 2024-06-21 08:43 kingron 阅读(273) 评论(0) 推荐(0)
摘要:如果想实现下面的 SQL: SELECT * FROM book WHERE author_id IN (SELECT id FROM author WHERE name LIKE 'kingron%') 可以这样写: authores = Author.objects.filter(name__s 阅读全文
posted @ 2024-06-21 08:37 kingron 阅读(156) 评论(0) 推荐(0)
摘要:问题 通过 django ORM 实现如下写法的 SQL 语句: select *, row_number() over (partition by c1 order by c2 desc) as rn from my_table 实现 from django.db.models import F, 阅读全文
posted @ 2024-06-05 14:50 kingron 阅读(171) 评论(0) 推荐(0)
摘要:小记 | 在 django 项目中使用 migration 管理初始数据最近接触的项目中自带一些初始数据,像页面菜单的管理,默认用户、默认配置等等,在初始化数据库表结构后,将相关数据写入表中,方便用户使用。之前的处理方式是将这些数据存放到一个 json 文件中,再在执行完 python manage.py migrate 之后,使用命令 python manage.py 阅读全文
posted @ 2024-02-26 14:30 kingron 阅读(367) 评论(0) 推荐(0)