我有一个名为“新闻”的模型,定义如下:
class News(models.Model):
title = models.CharField(max_length=30, null=False, blank=False, verbose_name="news title")
content = models.TextField(max_length=300, null=False, blank=False, verbose_name="news content")
cta = models.CharField(max_length=50, null=False, blank=False, verbose_name="news call-to-action")
mini_image = models.URLField(null=False, blank=False, verbose_name="news image helper")
is_promo = models.BooleanField(null=False, blank=False, verbose_name="promo code")
promo_benefit = models.DecimalField(max_digits=7, decimal_places=2, blank=False, null=False, default=0.00, verbose_name="promo benefit")
promo_duration = models.IntegerField(null=False, blank=False, default=0, verbose_name="promo duration")
date_published = models.DateTimeField(auto_now_add=True, null=False, blank=False)
def __str__(self):
return self.title
当我尝试访问使用新闻模型的模板时(无论我是登录管理员尝试创建新实例还是自定义模板),我都会收到以下错误:
ProgrammingError at /admin/myapp/news/
column omninectar_news.cta does not exist
LINE 1: ...app_news"."title", "myapp_news"."content", "myapp...
^
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
column omninectar_news.cta does not exist
这应该是不言自明的。您的数据库已过期。
如果您使用South,请迁移。否则,尝试删除表“omnictar_news”,然后运行syncdb。
答案 1 :(得分:0)
您应该删除迁移文件夹,然后删除
python manage.py migrate --run-syncdb
python manage.py migrate --fake appname