
Django
敬致知
不患无位,患所以立,不患莫己知,求为可知也。
展开
-
MySQL连表查询并统计
表A UserIdABC表B DeviceIdUserIdaaAbbAccB目的:查询每个用户拥有的设备数量sql = SELECT L.Id, R.Id AS DeviceId COUNT(R.Id) AS DeviceNumber FROM device_user AS L LEFT JOIN device_device AS R ON L.Id = R.UserId WHERE 1 = 1 GROUP BY Id原创 2021-11-03 17:22:34 · 4871 阅读 · 0 评论 -
apache2/httpd,静态/动态转发问题。
希望实现访问https://127.0.0.1:8443, 能够默认找到/var/www/static_web下的index.htm页面,同时https://127.0.0.1:8443/api/v1/account/能够直接转发到/api/v1/account/如果是以下配置:Listen 8443<VirtualHost *:8443>WSGIDaemonProcess admin processes=2 threads=15 display-name=admin python-原创 2021-09-18 10:34:58 · 565 阅读 · 0 评论 -
OperationalError: (1054, “Unknown column ‘*_id‘ in ‘on clause‘“), 使用db_colnum指定外键字段名
db_constraint=False 参数在Django使用外键,可以不实际在数据中产生约束。例如:class Group(models.Model): id = models.CharField(max_length=50, null=False, primary_key=True)class Device(models.Model): GroupId = models.ForeignKey(to='Group', on_delete=models.CASCADE, db_constrain原创 2021-09-10 19:13:03 · 1192 阅读 · 1 评论 -
Django count和group by顺序问题,解决被自动加入group by主键的问题
django中的数据库查询Model.objects.values('OSPlatform', 'GroupId').annotate( DeviceStatus=F('Status')).annotate(DeviceCount=Count('*'))如果values放在annotate前面,实际上的SQL会按照’OSPlatform’, 'GroupId’这两个字段group by;如果valus放在annotate后面,实际上的SQL只会有默认的grou原创 2021-09-08 11:04:46 · 459 阅读 · 0 评论 -
Django数据库update的错误操作
一User.objects.filter(Id=id_).first()user.Email = emailuser.UpdateTime = datetime.datetime.now()user.save()二user = User.objects.filter(Id=id_).first()user.update(Email=email, UpdateTime=datetime.datetime.now())注意这种更新方式并不能成功,需要直接在User后面加...原创 2021-08-25 11:28:15 · 970 阅读 · 0 评论 -
django.db.utils.ProgrammingError:(1146, “Table * doesn‘t exist“) 原因及其解决办法
原因一:app中migrations文件夹下每次更改产生的记录文件中,有对某张表的删除,或者字段删除操作,但是这些修改是在别人的环境中产生,而在自己的环境是第一次运行,就会在python manage.py migrate的时候先去运行删除操作,这时候就会报错django.db.utils.ProgrammingError: (1146, "Table '表' doesn't exist")原因二:在urls.py文件中有先调用该表。...原创 2021-08-18 16:37:10 · 1617 阅读 · 0 评论 -
Django Rest_Framework 添加分页模块
settings.py 文件中的REST_FRAMEWORK = {}配置中,增加'DEFAULT_PAGINATION_CLASS': 'util.custom_pagination.CustomPagination','PAGE_SIZE': 20,View中return 的data只包含数据列表[data], 会自动添加上分页信息,变成:{ "count": 12, "next": "request url", "previous": null, "re原创 2021-03-25 18:36:48 · 81 阅读 · 0 评论 -
Django初始化数据库,及已有部分表时重新初始化数据库
一般情况,初始化数据库使用以下命令: python ${CUR_DIR}/manage.py makemigrations python ${CUR_DIR}/manage.py migrate python ${CUR_DIR}/manage.py loaddata initial_data遇到一种情况是,在初始化的时候,数据库偶然断连,导致某些表没有成功创建,此时需要重新初始化,执行以下命令:python manage.py migrate --fake-initialp原创 2020-06-16 10:13:06 · 1410 阅读 · 0 评论 -
Django 测试
创建超级用户python ./manage.py createsuperuser --username=bryany --email=bryany@test.comdump数据&插入数据mysqldump -uroot -pvmi@Asiainf0 --all-database > /tmp/all.sqlmysql source /tmp/all.sql;获取用户to...原创 2019-09-19 14:13:45 · 124 阅读 · 0 评论