[英]Error with Docker Compose Django and PostgreSql
我在 django 管理中創建任何對象時遇到問題。 它向我展示了這個錯誤:
LINE 1: SELECT (1) AS "a" FROM "license_portal_client" WHERE
這是我的Dockerfile
:
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /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 models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
還有我的admin.py
:
from django.contrib import admin
from license_portal.models import Person
admin.site.register(Person)
這可能是因為您的數據庫沒有被遷移。 嘗試從 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.