您的位置:首页 > 数据库 > SQL

django 有model生成SQL以及现有反向表生成model

2016-11-05 18:32 573 查看
已有models生成SQL语句

语法 python manage.py sqlall app_name # app_name, 在settings已经导入,

如:

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"apps.libs.models.weixin",
)

python manage.py sqlall weixin

wei-2:tbkw (develop)admin$ python manage.py sqlall weixin
{'DB_JX_MASTER_HOST': 'mysql.rds.aliyuncs.com', 'DB_JX_PORT': '3306', 'DB_JX_USER': 'tb', 'DB_JX_PASSWORD': 'tb'}
BEGIN;
CREATE TABLE `wechat_config` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`user_id` integer NOT NULL,
`app_id` varchar(50) NOT NULL,
`app_secret` varchar(50) NOT NULL,
`app_token` varchar(100) NOT NULL,
`access_token` varchar(200) NOT NULL,
`access_token_expire_in` integer,
`add_time` datetime(6) NOT NULL
)
;
CREATE TABLE `wechat_menu` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`wechat_id` integer NOT NULL,
`menu_name` varchar(50) NOT NULL,
`menu_type` varchar(20) NOT NULL,
`menu_key` varchar(50) NOT NULL,
`menu_value` varchar(50) NOT NULL,
`is_button` integer NOT NULL,
`level_id` integer NOT NULL,
`parent_id` integer,
`sequence` integer NOT NULL
)
;
CREATE TABLE `wechat_autoreply` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`wechat_id` integer NOT NULL,
`replay_type` integer NOT NULL,
`keyword` varchar(100) NOT NULL,
`is_welcome` integer NOT NULL,
`unmatch` integer NOT NULL,
`text` varchar(1000) NOT NULL,
`media` varchar(100) NOT NULL,
`add_time` datetime(6) NOT NULL
)
;
CREATE TABLE `wechat_material` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`wechat_id` integer NOT NULL,
`title` varchar(100) NOT NULL,
`author` varchar(100) NOT NULL,
`content` longtext NOT NULL,
`source_url` varchar(100) NOT NULL,
`cover` varchar(100) NOT NULL,
`cover_show` integer NOT NULL,
`summary` varchar(1000) NOT NULL,
`add_time` datetime(6) NOT NULL
)
;
CREATE TABLE `wechat_msg_push` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`wechat_id` integer NOT NULL,
`is_push` integer NOT NULL,
`template_id` integer NOT NULL,
`title` varchar(100) NOT NULL,
`content` longtext NOT NULL,
`add_time` datetime(6) NOT NULL
)
;


$ python manage.py makemigrations weixin

有现有表反向生成models

语法 python manage.py inspectdb

wei-2:tbkw (develop)admin$ python manage.py inspectdb
{'DB_JX_MASTER_HOST': 'mysql.rds.aliyuncs.com', 'DB_JX_PORT': '3306', 'DB_JX_USER': 'tb', 'DB_JX_PASSWORD': 'tb'}
# This is an auto-generated Django model module.
# You'll have to do the following manually to clean this up:
#   * Rearrange models' order
#   * Make sure each model has one field with primary_key=True
#   * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
# Feel free to rename the models, but don't rename db_table values or field names.
#
# Also note: You'll have to insert the output of 'django-admin sqlcustom [app_label]'
# into your database.
from __future__ import unicode_literals

from django.db import models

class AuthUser(models.Model):
username = models.CharField(unique=True, max_length=30)
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
email = models.CharField(max_length=75)
password = models.CharField(max_length=128)
is_staff = models.IntegerField()
is_active = models.IntegerField()
is_superuser = models.IntegerField()
last_login = models.DateTimeField(blank=True, null=True)
date_joined = models.DateTimeField()
logins = models.IntegerField()
phone = models.CharField(max_length=11, blank=True, null=True)
qq = models.CharField(max_length=13, blank=True, null=True)

class Meta:
managed = False
db_table = 'auth_user'

class BankAccount(models.Model):
username = models.CharField(max_length=50)
amount = models.DecimalField(max_digits=11, decimal_places=2)
balance = models.DecimalField(max_digits=8, decimal_places=2)
add_date = models.IntegerField()

class Meta:
managed = False
db_table = 'bank_account'


.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: