如何使用Django和Python迁移现有表

时间:2017-06-10 07:24:49

标签: python mysql django

我需要一个帮助。我的localhost数据库中有一个现有的mysql表,我需要使用Django和Python进行迁移。我在下面解释我的代码。

  

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangotest',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
}

我在下面给出了我的表结构。

  

人:

id    name  phone  age
  

models.py:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models

# Create your models here.
class Person(models.Model):
    name = models.CharField(max_length=200)
    phone = models.CharField(max_length=15)
    age = models.IntegerField()

其实我是Django and Python的新手,在这里我需要知道可以迁移现有表的命令。

2 个答案:

答案 0 :(得分:0)

添加--fake选项以迁移命令:

  

- 假

     

告诉Django将迁移标记为已应用或未应用,但没有实际运行SQL来更改   数据库架构

     

这适用于高级用户操纵当前   如果他们手动应用更改,则直接迁移状态;是   警告说使用--fake会冒着迁移状态的风险   表进入需要手动恢复的状态   迁移正确运行。

如果您刚刚启动django项目并且没有初始迁移:请评论您的Person模型,进行初始迁移,应用它,取消注释Person,为Person进行迁移最后使用Person选项迁移--fake

答案 1 :(得分:0)

关于akhilsp,我不必担心使用_格式的表名。使用inspectdb命令返回元数据,无论我在模型中使用的当前表名如何。

class Meta:
    managed = False
    db_table = 'malware'