2016-04-15 64 views
0

好吧所以我在django 1.8中有一些迁移问题,我需要通过每次手工删除我的数据库表来解决问题。我通过添加新的领域和运行Django迁移并不总是工作

python manage.py makemigrations 

python manage.py migrate 

它说没有更改应用于改变我的表后,每一次 -

我的问题是下面。 (迁移文件夹为空)

(它不是拿起模型文件我所做的更改)

在茶几老结构保持,当我测试它给我的错误。

如果我直接在数据库中删除表并重新启动它,但它很烦人,因为我必须每次都重新创建一个测试数据。

这是一个在迁移或只是我的错误?

例如,这是我的模型文件表,但它发生在其他表之前。

@with_author 
class BOM(models.Model): 
    name = models.CharField(max_length=200,null=True, blank=True) 
    description = models.TextField(null=True, blank=True) 
    product= models.ForeignKey(Product, on_delete=models.PROTECT) 
    material = models.OneToOneField(Material, related_name = 'material') 
    creation_time = models.DateTimeField(auto_now_add=True) 
    materialuom = models.CharField(max_length=1, 
           choices=UOM_CHOICES) 
    quantity = models.DecimalField(max_digits=19, decimal_places=10) 
    waste = models.DecimalField(null=True, blank=True,max_digits=19, decimal_places=10) 
    def __unicode__(self): 
     return u'%s %s' % (self.id, self.name) 
+0

问题出在您使用的'with_author'装饰器上吗? – Alasdair

+2

你尝试过:'python manage.py makemigrations appname'? – ahmed

+0

@ahmed我尝试使用应用程序名称,它把它捡起来,但它创建了一个乱七八糟的表格,因为表格已经存在,并且它在没有在django migrate终端中编写任何东西的情况下重新创建它。我的印象是迁移中的错误。 –

回答

1

好的,所以我得到了我的工作,感谢来自@ahmed的评论。 每次在做python manage.py makemigrations appname时,都必须键入appname.Without appname功能并不总是有效。

但是我相信在django1.8迁移过程中还存在问题。