django模型自动创建
2016-06-02 10:59
579 查看
应用场景,对于数据分表查询的时候,非常有用,比如历史某些数据比较大,每个月一个表,这就需要用到动态加载表。
# -*- coding: utf-8 -*- from django.contrib import admin from django.db import models def create_model(model_name, app_label='', fields=None, module='', meta_options=None, admin_options=None): """ Create specified model """ class Meta: # Using type('Meta', ...) gives a dictproxy error during model creation pass if app_label: # app_label must be set using the Meta inner class setattr(Meta, 'app_label', app_label) # Update Meta with any options that were provided if meta_options is not None: for key, value in meta_options.iteritems(): setattr(Meta, key, value) # Set up a dictionary to simulate declarations within a class attrs = {'__module__': module, 'Meta': Meta} # Add in any fields that were provided if fields: attrs.update(fields) # Create the class, which automatically triggers ModelBase processing model = type(model_name, (models.Model,), attrs) # Create an Admin class if admin options were provided if admin_options is not None: class Admin(admin.ModelAdmin): pass for key, value in admin_options.items(): setattr(Admin, key, value) admin.site.register(model, Admin) return model
相关文章推荐
- vagrant setup django vm
- 基于Dashgo的ROS版树莓派3的使用教程
- golang: Golang 并发模式:超时和继续 Go Concurrency Patterns: Timing out, moving on
- Go语言开发环境配置
- go server
- Django Model实例
- 愉快的logo设计
- Google stuff
- windows环境go开环境实例
- google code prettify 多款主题颜色及下载
- Google官方版下拉刷新控件SwipeRefreshLayout解析
- 【algorithm】BFS实例一
- This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms
- django 的ajax 请求,使用form的验证机制。
- 关于IAR编译器定位不到函数或关键字问题!
- mint17.3环境安装googlepinyin输入法
- Google 的开源技术protobuf 简介与例子
- 当你在浏览器中输入Google.com并且按下回车之后发生了什么?(很详细)
- Google Code Jam 2016 Round2
- 30学习写论坛-8