【发布时间】:2015-02-03 23:29:50
【问题描述】:
我正在尝试创建一个名为 'store' 的 django 应用程序,但是当我执行 ./manage.py makemigration store 然后 ./manage.py migrate store 在 phpmyadmin 中查看此表时迁移正确应用它只有一个字段。
我的模型代码如下:
from django.db import models
class Module(models.Model):
class Meta:
verbose_name = "Module"
verbose_name_plural = "Modules"
def __unicode__(self):
return self.name
def __str__(self):
return self.name
name = models.CharField(max_length=100, required=True)
version = models.CharField(max_length=10,default='0.1')
description = models.CharField(max_length=500,default="No description")
./manage.py sqlmigrate store 的结果是:
BEGIN;
CREATE TABLE `store_module` (`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY);
COMMIT;
我在 python 2.7 和 mysql 数据库上使用 django 1.7。
【问题讨论】:
-
朋友,看来字段声明不是您模型的一部分。检查您的身份。如果仍然无法正常工作,请附上您正在使用的 ide 中的模型类的屏幕截图... .~谢谢
-
如果你的意思是我在写这个问题时手动修复的缩进,谢谢你通知我。还是您的意思是像这样声明它们:
self.name = CharField()?请解释一下。 -
看这里的代码似乎绝对没问题。但是(如果我错了,请纠正我)看起来你的字段不是模型类的一部分。这就是为什么 django 没有把它们放在迁移中。这可能是原因之一。但如果仍然没有,请附上模型类的屏幕截图。
标签: python mysql django database-migration