django 1.8 makemigrations“;“未检测到任何更改”;
我想知道我错过了什么 我在卡赫之前的模型:django 1.8 makemigrations“;“未检测到任何更改”;,django,django-models,Django,Django Models,我想知道我错过了什么 我在卡赫之前的模型: class sectorToMapXY(models.Model): pos = models.IntegerField() name = models.CharField(max_length=15) mapX = models.FloatField(default=0) mapY = models.FloatField(default=0) destMap = models.Fore
class sectorToMapXY(models.Model):
pos = models.IntegerField()
name = models.CharField(max_length=15)
mapX = models.FloatField(default=0)
mapY = models.FloatField(default=0)
destMap = models.ForeignKey(Document, related_name='%(class)s_docfile')
更改后的模型(在destMap中更新了on_delete):
运行python manage.py makemigrations时
返回未检测到任何更改
当将删除上的更改为SET\u NULL
或SET\u DEFAULT
时,它会检测到更改
更新:
我没有设置set_NULL或set_DEFAULT,因此在尝试运行时返回错误(但它检测到更改):
添加models.ForeignKey(文档,相关名称='%(类)s_docfile',null=True,on_delete=models.SET_null)
运行python manage.py makemigrations
返回到未检测到任何更改
我无法在django 1.8
上重现您的错误
但是,我不确定当在字段定义中缺少NULL=True
或DEFAULT=DEFAULT\u值时,在设置时,如何成功地使用makemigrations
命令
如果这是您第一次在应用程序上处理迁移
,您应该运行:
$ python manage.py makemigrations your_app_label
如指定。我无法在django 1.8上重现您的错误
但是,我不确定当在字段定义中缺少NULL=True
或DEFAULT=DEFAULT\u值时,在设置时,如何成功地使用makemigrations
命令
如果这是您第一次在应用程序上处理迁移
,您应该运行:
$ python manage.py makemigrations your_app_label
如规定。请在设置on_delete=SET_NULL
和on_delete=SET_DEFAULT
时包含makemigrations
的输出。谢谢,我已经更新了问题“在设置on_delete=SET_NULL
和on_delete=SET_DEFAULT
时,请包含makemigrations的输出。谢谢,在添加null=True类sectortomaxy(models.Model)之后,我更新了Q's:pos=models.IntegerField()name=models.CharField(max_length=15)mapX=models.FloatField(默认值=0)mapY=models.FloatField(默认值=0)destMap=models.ForeignKey(文档,相关名称='(类)s_docfile',null=True,on_delete=models.SET_null)
makemigrations返回检测不到任何更改。添加null=Trueclass sectortomaxy(models.Model)后:pos=models.IntegerField()name=models.CharField(最大长度=15)mapX=models.FloatField(默认值=0)mapY=models.FloatField(默认值=0)destMap=models.ForeignKey(Document,related_name='%(class)s_docfile',null=True,on_delete=models.SET_null)
makemigrations返回以检测不到任何更改。
$ python manage.py makemigrations your_app_label