![](/img/trans.png)
[英]Makemigrations error : django.db.utils.OperationalError: no such table
[英]makemigrations/migrate error django.db.utils.OperationalError: no such table
我有一個應用程序,我使用 PostgreSQL 作為數據庫管理系統,但是由於發生了一系列事情,現在我想使用 SQLite,但是當我運行 makemigrations 或 migrate 時,它會拋出錯誤 Z2B9AFB89A6ACC10ADCAZB11。 .utils.OperationalError:沒有這樣的表:blogapp_category。 使用 PosgreSQL 它可以完美運行,但我無法讓它與 SQLite 一起使用...
(我也嘗試使用 heroku 部署應用程序並得到同樣的錯誤......)
這是回溯:回溯
這些是我的模型:
blogapp\models.py
class Category(models.Model):
name = models.CharField(max_length=255)
class Meta:
verbose_name_plural = 'Categories'
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('home')
class Post(models.Model):
title = models.CharField(max_length=255)
title_tag = models.CharField(max_length=255)
author = models.ForeignKey(to=User, on_delete=models.CASCADE)
# body = models.TextField()
body = RichTextField(blank=True, null=True)
post_date = models.DateField(auto_now_add=True)
category = models.CharField(max_length=255, default='uncategorized')
# category podría ser un ManyToManyField
# https://stackoverflow.com/questions/2642613/what-is-related-name-used-for-in-django
likes = models.ManyToManyField(
to=User, related_name='blog_posts', blank=True) # null has no effect on ManyToManyField
snippet = models.CharField(max_length=255)
header_image = models.ImageField(
blank=True, null=True, upload_to='images/')
def get_likes(self):
return self.likes.count()
def __str__(self):
return '{} - {}'.format(self.title, self.author)
def get_absolute_url(self):
# https://docs.djangoproject.com/en/3.1/ref/urlresolvers/#reverse
return reverse('article_detail', args=[str(self.id), ])
# return reverse('home')
class Meta:
ordering = ['-post_date']
class Profile(models.Model):
user = models.OneToOneField(to=User, null=True, on_delete=models.CASCADE)
bio = models.TextField()
profile_pic = models.ImageField(
blank=True, null=True, upload_to='images/profile/')
website_url = models.CharField(max_length=255, blank=True, null=True)
fb_url = models.CharField(max_length=255, blank=True, null=True)
twitter_url = models.CharField(max_length=255, blank=True, null=True)
instagram_url = models.CharField(max_length=255, blank=True, null=True)
pinterest_url = models.CharField(max_length=255, blank=True, null=True)
# new
followers = models.ManyToManyField(to=User, related_name='followers', blank=True)
following = models.ManyToManyField(to=User, related_name='following', blank=True)
default_home = models.BooleanField(default=True)
# ---
def __str__(self):
return str(self.user)
def get_absolute_url(self):
return reverse('home')
class Comment(models.Model):
post = models.ForeignKey(
to=Post, related_name='comments', on_delete=models.CASCADE) # related_name es el nombre mediante el que vamos a poder acceder a los comentarios desde un post
name = models.CharField(max_length=255)
body = models.TextField()
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self):
return '{} - {}'.format(self.post.title, self.name)
membersapp\models.py
class DirectMessages(models.Model):
sender = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name="sender")
reciever = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name="recipent")
text = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
read = models.BooleanField(default=False)
subject = models.TextField()
class Meta:
ordering = ['read', '-timestamp']
這是settings.py中的數據庫配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
我有一個應用程序,我使用 PostgreSQL 作為數據庫管理系統,但是由於發生了一系列事情,現在我想使用 SQLite,但是當我運行 makemigrations 或 migrate 時,它會拋出錯誤 Z2B9AFB89A6ACC10ADCAZB11。 .utils.OperationalError:沒有這樣的表:blogapp_category。 使用 PosgreSQL 它可以完美運行,但我無法讓它與 SQLite 一起使用...
(我也嘗試使用 heroku 部署應用程序並得到同樣的錯誤......)
這是回溯:回溯
這些是我的模型:
blogapp\models.py
class Category(models.Model):
name = models.CharField(max_length=255)
class Meta:
verbose_name_plural = 'Categories'
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('home')
class Post(models.Model):
title = models.CharField(max_length=255)
title_tag = models.CharField(max_length=255)
author = models.ForeignKey(to=User, on_delete=models.CASCADE)
# body = models.TextField()
body = RichTextField(blank=True, null=True)
post_date = models.DateField(auto_now_add=True)
category = models.CharField(max_length=255, default='uncategorized')
# category podría ser un ManyToManyField
# https://stackoverflow.com/questions/2642613/what-is-related-name-used-for-in-django
likes = models.ManyToManyField(
to=User, related_name='blog_posts', blank=True) # null has no effect on ManyToManyField
snippet = models.CharField(max_length=255)
header_image = models.ImageField(
blank=True, null=True, upload_to='images/')
def get_likes(self):
return self.likes.count()
def __str__(self):
return '{} - {}'.format(self.title, self.author)
def get_absolute_url(self):
# https://docs.djangoproject.com/en/3.1/ref/urlresolvers/#reverse
return reverse('article_detail', args=[str(self.id), ])
# return reverse('home')
class Meta:
ordering = ['-post_date']
class Profile(models.Model):
user = models.OneToOneField(to=User, null=True, on_delete=models.CASCADE)
bio = models.TextField()
profile_pic = models.ImageField(
blank=True, null=True, upload_to='images/profile/')
website_url = models.CharField(max_length=255, blank=True, null=True)
fb_url = models.CharField(max_length=255, blank=True, null=True)
twitter_url = models.CharField(max_length=255, blank=True, null=True)
instagram_url = models.CharField(max_length=255, blank=True, null=True)
pinterest_url = models.CharField(max_length=255, blank=True, null=True)
# new
followers = models.ManyToManyField(to=User, related_name='followers', blank=True)
following = models.ManyToManyField(to=User, related_name='following', blank=True)
default_home = models.BooleanField(default=True)
# ---
def __str__(self):
return str(self.user)
def get_absolute_url(self):
return reverse('home')
class Comment(models.Model):
post = models.ForeignKey(
to=Post, related_name='comments', on_delete=models.CASCADE) # related_name es el nombre mediante el que vamos a poder acceder a los comentarios desde un post
name = models.CharField(max_length=255)
body = models.TextField()
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self):
return '{} - {}'.format(self.post.title, self.name)
membersapp\models.py
class DirectMessages(models.Model):
sender = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name="sender")
reciever = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name="recipent")
text = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
read = models.BooleanField(default=False)
subject = models.TextField()
class Meta:
ordering = ['read', '-timestamp']
這是settings.py中的數據庫配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.