Django 初始化数据库

Posted 左丿仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 初始化数据库相关的知识,希望对你有一定的参考价值。

django 初始化数据库

刷新数据库
guoguos-MacBook-Pro:mysite guoguo$ python manage.py sqlflush
BEGIN;
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE `auth_user`;
TRUNCATE `auth_group`;
TRUNCATE `auth_user_user_permissions`;
TRUNCATE `django_content_type`;
TRUNCATE `auth_group_permissions`;
TRUNCATE `django_session`;
TRUNCATE `django_admin_log`;
TRUNCATE `auth_user_groups`;
TRUNCATE `auth_permission`;
SET FOREIGN_KEY_CHECKS = 1;
COMMIT;

清空数据库的数据
guoguos-MacBook-Pro:mysite guoguo$ python manage.py flush
You have requested a flush of the database.
This will IRREVERSIBLY DESTROY all data currently in the ‘django‘ database,
and return each table to an empty state.
Are you sure you want to do this?

    Type ‘yes‘ to continue, or ‘no‘ to cancel: yes

删除数据库表结构
mysql> drop tables auth_permission;
Query OK, 0 rows affected (0.01 sec)

初始化数据库

guoguos-MacBook-Pro:mysite guoguo$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying sessions.0001_initial... OK
guoguos-MacBook-Pro:mysite guoguo$
guoguos-MacBook-Pro:mysite guoguo$
guoguos-MacBook-Pro:mysite guoguo$
guoguos-MacBook-Pro:mysite guoguo$

在setting.py INSTALLED_APPS = 中增加 guoguo 项目

INSTALLED_APPS = [
    ‘guoguo‘,
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
]


在项目里生成一个表文件
guoguos-MacBook-Pro:mysite guoguo$ python manage.py makemigrations guoguo
Migrations for ‘guoguo‘:
  guoguo/migrations/0001_initial.py
    - Create model Person

生成表结构
guoguos-MacBook-Pro:mysite guoguo$ python manage.py sqlmigrate guoguo 0001
BEGIN;
--
-- Create model Person
--
CREATE TABLE `guoguo_person` (`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `first_name` varchar(30) NOT NULL, `last_name` varchar(30) NOT NULL);
COMMIT;


把表结构导入数据库


guoguos-MacBook-Pro:mysite guoguo$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, guoguo, sessions
Running migrations:
  Applying guoguo.0001_initial... OK
 

以上是关于Django 初始化数据库的主要内容,如果未能解决你的问题,请参考以下文章

django初始化

django环境初始化

Django教程-02连接初始化数据库

python测试开发django-177.启动项目添加初始化数据(fixtures的使用)

python测试开发django-177.启动项目添加初始化数据(fixtures的使用)

在 django 中,如何从初始化脚本中调用子命令“syncdb”?