Py学习  »  Django

关系不存在-Django&Postgres

Mcflan_7 • 4 年前 • 381 次点击  

我在现有模型中添加了一些表,但是我得到了一个 错误 当我把我的项目推给heroku时:

我在这个应用程序中添加的任何模型都会发生这种情况

关系“仪表板地址簿”不存在 第1行:从“仪表板地址簿”中选择COUNT(*)作为“计数”

我的模特.py

class AdressBook(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="Nom de l'utilisateur")
    text = models.CharField(max_length=200,verbose_name="Description")
    number = models.CharField(max_length=20,verbose_name="Numéro de téléphone")


    def __str__(self):
        return self.text

    def get_absolute_url(self):
        return reverse('dashboard-home')  

class Dashboard(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="Nom de l'utilisateur")
    content = RichTextField(max_length=500,verbose_name="Description")
    text = models.TextField(verbose_name="Description supplémentaire",null=True, blank=True)
    date_posted = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.content

    def get_absolute_url(self):
        return reverse('dashboard-home')

class Links(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE,verbose_name="Nom de l'utilisateur")
    content = models.URLField(max_length=500, verbose_name="URL")
    name = models.CharField(max_length=500, verbose_name="Description")

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('dashboard-home') 

class Todo(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE,verbose_name="Nom de l'utilisateur")
    text = models.CharField(max_length=150, verbose_name="Nom de la Todo")
    content = RichTextField(verbose_name="Description supplémentaire",null=True, blank=True)
    date_posted = models.DateTimeField(default=timezone.now)
    complete = models.BooleanField(default=False, verbose_name="Statut de la Todo")
    urgence = models.BooleanField(default=False,verbose_name="Tâche urgente")

    def __str__(self):
        return self.text

    def get_absolute_url(self):
        return reverse('dashboard-home') 

class Phone(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="Nom de l'utilisateur")
    text = models.CharField(max_length=200,verbose_name="Description")
    number = models.CharField(max_length=20,verbose_name="Numéro de téléphone")


    def __str__(self):
        return self.text

    def get_absolute_url(self):
        return reverse('dashboard-home') 

   Django Version: 2.1.7
Python Version: 3.6.7
Installed Applications:
['blog.apps.BlogConfig',
 'dashboard.apps.DashboardConfig',
 'property.apps.PropertyConfig',
 'users.apps.UsersConfig',
 'crispy_forms',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'storages',
 'cloudinary',
 'ckeditor']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'whitenoise.middleware.WhiteNoiseMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute
  85.                 return self.cursor.execute(sql, params)

The above exception (relation "dashboard_adressbook" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "dashboard_adressbook"
                                          ^
) was the direct cause of the following exception:

File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  126.                 response = self.process_exception_by_middleware(e, request)

File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  124.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/admin/options.py" in wrapper
  604.                 return self.admin_site.admin_view(view)(*args, **kwargs)

File "/app/.heroku/python/lib/python3.6/site-packages/django/utils/decorators.py" in _wrapped_view
  142.                     response = view_func(request, *args, **kwargs)

File "/app/.heroku/python/lib/python3.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  44.         response = view_func(request, *args, **kwargs)

File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/admin/sites.py" in inner
  223.             return view(request, *args, **kwargs)

File "/app/.heroku/python/lib/python3.6/site-packages/django/utils/decorators.py" in _wrapper
  45.         return bound_method(*args, **kwargs)

File "/app/.heroku/python/lib/python3.6/site-packages/django/utils/decorators.py" in _wrapped_view
  142.                     response = view_func(request, *args, **kwargs)

File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/admin/options.py" in changelist_view
  1675.             cl = self.get_changelist_instance(request)

File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/admin/options.py" in get_changelist_instance
  742.             sortable_by,

File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/admin/views/main.py" in __init__
  81.         self.get_results(request)

File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/admin/views/main.py" in get_results
  209.         result_count = paginator.count

File "/app/.heroku/python/lib/python3.6/site-packages/django/utils/functional.py" in __get__
  37.         res = instance.__dict__[self.name] = self.func(instance)

File "/app/.heroku/python/lib/python3.6/site-packages/django/core/paginator.py" in count
  87.             return self.object_list.count()

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/query.py" in count
  383.         return self.query.get_count(using=self.db)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/sql/query.py" in get_count
  498.         number = obj.get_aggregation(using, ['__count'])['__count']

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/sql/query.py" in get_aggregation
  483.         result = compiler.execute_sql(SINGLE)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/sql/compiler.py" in execute_sql
  1065.             cursor.execute(sql, params)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py" in execute
  100.             return super().execute(sql, params)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py" in execute
  68.         return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute_with_wrappers
  77.         return executor(sql, params, many, context)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute
  85.                 return self.cursor.execute(sql, params)

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/utils.py" in __exit__
  89.                 raise dj_exc_value.with_traceback(traceback) from exc_value

File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute
  85.                 return self.cursor.execute(sql, params)

Exception Type: ProgrammingError at /admin/dashboard/adressbook/
Exception Value: relation "dashboard_adressbook" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "dashboard_adressbook"
                                          ^

我在本地机器上完成了所有的迁移,但问题并没有消失。

谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55436
 
381 次点击  
文章 [ 3 ]  |  最新文章 4 年前
Tms91
Reply   •   1 楼
Tms91    4 年前

在从Heroku dashboard重置数据库后,我在从数据库获取数据的模板上登录时遇到了同样的错误。

  1. python manage.py生成迁移
  2. python manage.py迁移
  3. git push-m“上传空数据库”
  4. 吉特推英雄大师
eaithy
Reply   •   2 楼
eaithy    4 年前

这对我有效

  1. python manage.py生成迁移
  2. python manage.py迁移
Mcflan_7
Reply   •   3 楼
Mcflan_7    4 年前

警告: 请不要犯同样的错误,不要在本地机器和生产上使用不同的发动机,一旦遇到问题,就不可能解决

4天后,我通过从数据库中删除数据解决了这个问题。

我开始 清洁的 迁移之前 对英雄的推动,我也一直在使用 (postgres)在我的本地机器和Heroku上,到目前为止我还没有遇到任何bug。