Django:表不存在 [英] Django : Table doesn't exist

查看:654
本文介绍了Django:表不存在的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我删除了一些与应用相关的表格。并再次尝试使用syncdb命令

  python manage.py syncdb 

它显示错误,如

  django.db.utils.ProgrammingError: (1146,表someapp.feed不存在)

models.py



  class feed(models.Model):
user = models.ForeignKey(User,null = True,blank = True)
feed_text = models.CharField(max_length = 2000)
date = models.CharField(max_length = 30)
upvote = models.IntegerField(default = 0)
downvote = models。 IntegerField(default = 0)

def __str __(self):
return feed.content

我可以做什么来获取该应用的表?

解决方案


  1. drop tables(你已经做过),

  2. 注释掉model.py中的模型,

  3. 和..

如果django版本> = 1.7:

  python manage.py makemigrations 
python manage.py migrate --fake

其他

  python manage.py schemamigration someapp --auto 
python manage.py migrate someapp --fake




  1. 注释你模型中的models.py

  2. 转到步骤3. 但是这次没有 strong> - fake


I dropped some table related to an app. and again tried the syncdb command

python manage.py syncdb

It shows error like

django.db.utils.ProgrammingError: (1146, "Table 'someapp.feed' doesn't exist")

models.py

class feed(models.Model):
    user = models.ForeignKey(User,null=True,blank=True)
    feed_text = models.CharField(max_length=2000)
    date = models.CharField(max_length=30)
    upvote = models.IntegerField(default=0)
    downvote = models.IntegerField(default=0)

    def __str__(self):
        return feed.content

What I can do to get the tables for that app ?

解决方案

  1. drop tables (you already did),
  2. comment-out the model in model.py,
  3. and ..

if django version >= 1.7:

python manage.py makemigrations
python manage.py migrate --fake

else

python manage.py schemamigration someapp --auto
python manage.py migrate someapp --fake

  1. comment-in your model in models.py
  2. go to step 3. BUT this time without --fake

这篇关于Django:表不存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆