Model/数据库设计建议
from django.db import models
from django.utils import timezone
class ModelManager(models.Manager):
def get_queryset(self, *args, **kwargs):
return super().get_queryset(*args, **kwargs).filter(is_deleted=False)
class ModelExt(models.Model):
objects = ModelManager()
is_deleted = models.BooleanField('是否已删除', default=False)
created_time = models.DateTimeField('创建时间', default=timezone.now)
updated_time = models.DateTimeField('更新时间', default=timezone.now)
class Meta:
abstract = True
Model注释同步到数据库
https://github.com/starryrbs/django-comment-migrate
drf-yasg与swagger
drf-yasg还是drf-yasg2?
Django中的swagger本质上是个App,很方便接入项目统一的认证体系
AspNetCore的swagger是个中间件,需要额外的配置
验证码
图形验证码继续使用django-simple-captcha
过期时间保存在数据库里,如果时区设置有问题就会导致验证码一直过期的问题
https://django-simple-captcha.readthedocs.io/en/latest/usage.html
Django Filter
- Django-filter,让过滤如此简单:https://zhuanlan.zhihu.com/p/110060840
- Django(69)最好用的过滤器插件Django-filter:https://www.cnblogs.com/jiakecong/p/14920543.html
Django Admin SimpleUI 自定义列
https://simpleui.72wo.com/topic/1266
消息队列:Django-Q
定时任务有点问题,最低只能一分钟执行一次
参考资料
- Django官方文档「模型
Meta
选项」:https://docs.djangoproject.com/zh-hans/3.2/ref/models/options/ - 2021年了,你真的应该考虑PostgreSQL了(1):https://chinese.freecodecamp.org/news/2021-postgres-1/