【发布时间】:2018-04-06 13:43:59
【问题描述】:
直到几天前,我的应用中只有 2 个模型,但现在我决定在“models.py”中再添加一个模型。 'Makemigrations' app_name 没有显示错误,但 'migrate' 显示:
django.db.utils.OperationalError: no such table: app_name_et
我所做的是删除“迁移”文件夹,在 settings.py 中将“django.contrib.sessions”添加到“已安装的应用程序”中,使用以下选项运行迁移:
python ../../manage.py makemigrations app-name
python ../../manage.py migrate --fake
python ../../manage.py migrate --fake app_name
python ../../manage.py migrate --fake app_name zero
不知道我还能做些什么来创建表。我无法删除 db,因为已有属于最早模型的数据。
python ../../manage.py inspectdb
不显示最后一个表,而是显示之前创建的两个:
(..)
class app_nameDane(models.Model):
id = models.IntegerField(primary_key=True) # AutoField?
mac = models.CharField(max_length=20, blank=True, null=True)
addr_ip_switcha = models.CharField(max_length=16, blank=True, null=True)
device_on_port = models.CharField(max_length=30, blank=True, null=True)
dns_name = models.CharField(max_length=20, blank=True, null=True)
switch_name = models.CharField(max_length=40, blank=True, null=True)
switch_port_number = models.CharField(max_length=30, blank=True, null=True)
addr_ip_on_port_poprzednio = models.CharField(max_length=16, blank=True, null=True)
addr_ip_switcha_poprzednio = models.CharField(max_length=16, blank=True, null=True)
vlan = models.CharField(max_length=2, blank=True, null=True)
data = models.CharField(max_length=15, blank=True, null=True)
godzina = models.CharField(max_length=15, blank=True, null=True)
error = models.CharField(max_length=15, blank=True, null=True)
addr_ip_on_port = models.CharField(max_length=14, blank=True, null=True)
class Meta:
managed = False
db_table = 'net_knf_dane'
class app_nameMaki(models.Model):
id = models.IntegerField(primary_key=True) # AutoField?
mak_mac = models.CharField(max_length=7, blank=True, null=True)
mak_man = models.CharField(max_length=70, blank=True, null=True)
class Meta:
managed = False
db_table = 'net_knf_maki'
表有问题的模型如下:
class Et(models.Model):
e_user = models.CharField(max_length=15, unique=False,default=None,blank=True,null=True)
e_dev = models.CharField(max_length=15, unique=False,default=None,blank=True,null=True)
e_session = models.CharField(max_length=9, unique=False,default=None,blank=True,null=True)
e_start = models.CharField(max_length=20, unique=False,default=None,blank=True,null=True)
e_stop = models.CharField(max_length=20, unique=False,default=None,blank=True,null=True)
e_summary = models.CharField(max_length=20, unique=False,default=None,blank=True,null=True)
e_ip = models.CharField(max_length=20, unique=False,default=None,blank=True,null=True)
def __unicode__(self):
return self.e_user
我没有想法。过去 3 天,我一直在寻找解决方案,但没有运气。如果您有任何想法或者我遗漏了什么,请告诉我。
问候
【问题讨论】:
标签: django-models