为了账号安全,请及时绑定邮箱和手机立即绑定

Docker Compose Django 和 PostgreSql 出错

Docker Compose Django 和 PostgreSql 出错

慕哥9229398 2023-08-08 17:37:00
当我在 django 管理中创建任何对象时遇到问题。它向我显示了这个错误:LINE 1: SELECT (1) AS "a" FROM "license_portal_client" WHERE这是我的Dockerfile:FROM python:3ENV PYTHONUNBUFFERED 1RUN mkdir /codeWORKDIR /codeCOPY requirements.txt /code/RUN pip install -r requirements.txtCOPY . /code/这是我的docker-compose.yml:version: '3'    services:  db:    image: postgres    environment:      - POSTGRES_DB=postgres      - POSTGRES_USER=postgres      - POSTGRES_PASSWORD=postgres  web:    build: .    command: python license_portal/manage.py runserver 0.0.0.0:8000    volumes:      - .:/code    ports:      - "8000:8000"    depends_on:      - db我的数据库settings.py和我已将我的应用程序添加到已安装的应用程序中:DATABASES = {    'default': {        'ENGINE': 'django.db.backends.postgresql',        'NAME': 'postgres',        'USER': 'postgres',        'PASSWORD': 'postgres',        'HOST': 'db',        'PORT': 5432,    }}这是我的models.py:from django.db import modelsclass Person(models.Model):    first_name = models.CharField(max_length=30)    last_name = models.CharField(max_length=30) 还有我的admin.py:from django.contrib import adminfrom license_portal.models import Personadmin.site.register(Person)
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

这可能是由于您的数据库未迁移。尝试从 django 容器内运行 django migrate 命令,并停止您可能拥有的任何现有数据库连接——例如web运行开发服务器的容器。


# Stop all of the running containers to release all db connections

docker-compose stop


# Run the migrate command inside of the django container

docker-compose run web python license_portal/manage.py migrate


# Start all of the containers again to access your dev server

docker-compose up web


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信