我需要一个帮助。我的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
的新手,在这里我需要知道可以迁移现有表的命令。
答案 0 :(得分:0)
添加--fake
选项以迁移命令:
- 假
告诉Django将迁移标记为已应用或未应用,但没有实际运行SQL来更改 数据库架构。
这适用于高级用户操纵当前 如果他们手动应用更改,则直接迁移状态;是 警告说使用--fake会冒着迁移状态的风险 表进入需要手动恢复的状态 迁移正确运行。
如果您刚刚启动django项目并且没有初始迁移:请评论您的Person
模型,进行初始迁移,应用它,取消注释Person
,为Person
进行迁移最后使用Person
选项迁移--fake
。
答案 1 :(得分:0)
关于akhilsp,我不必担心使用_格式的表名。使用inspectdb命令返回元数据,无论我在模型中使用的当前表名如何。
class Meta:
managed = False
db_table = 'malware'