【问题标题】:django 'no such table' one more timedjango 再一次“没有这样的桌子”
【发布时间】:2018-04-06 13:43:59
【问题描述】:

直到几天前,我的应用中只有 2 个模型,但现在我决定在“mo​​dels.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


    【解决方案1】:

    我已经手动创建了这个表:

    python manage.py dbshell
    

    (..)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-28
      • 2021-12-10
      • 2021-08-18
      • 2021-04-03
      • 2019-05-07
      相关资源
      最近更新 更多