阅读 9367

Django代码的实用技巧专栏

MedusaSorcerer的博客


专栏目录

专栏详情

Django动态调用模型ORM类

from django.apps import apps as django_apps

# 你定义的Django注册APP名称
appname = 'App Name'

# 返回指定APP下所有ORMModel信息
orm = dict([(x._meta.db_table, x) for x in django_apps.get_config(appname).get_models()])

# 获取指定模型类对象
# table_name 是指代ORM的指定表名称,或者是自动生成的MySQL表名称
orm.get('table_name')
复制代码

Django-Request参数对象不可修改

# 使用request对象的时候需要修改request的json参数对象的时候,  
# 修改报错为该对象不支持修改, 即不可变对象类型  
# 此时我们需要强制修改该对象需要怎么办呢?

# 解决:
request.data._mutable = True
复制代码

脚本中添加Django项目环境

# 加载脚本在Django项目内的时候可以采用直接导入的方式
import os
import django

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "DjangoOBJName.settings")
django.setup()


# 加载脚本在Django项目外的时候可以采用这样的路径加载方式
import sys

sys.path.append("Django-Object-Path")
os.environ['DJANGO_SETTINGS_MODULE'] = 'DjangoOBJName.settings'
复制代码