Как избавиться от ошибки django.db.utils.OperationalError: no such table?
Я разрабатываю это приложение на Django, где я не могу сгенерировать миграции ни при каких обстоятельствах. Я пробовал другие посты на SO, я провел часы на ChatGPT, но прогресса нет. После определения единой модели, представлений и урлов, мой проект постоянно возвращает django.db.utils.OperationalError: no such table: vini_rest_plotdata в коде, который я приведу ниже.
Может ли кто-нибудь понять, что здесь происходит? Я пытался создать совершенно новый проект, но обнаружил ту же ошибку, поэтому я не верю, что это ошибка в настройках, а что-то, что у меня есть в коде, который я повторяю, но просто не могу увидеть.
views.py:
from django.shortcuts import render
from django.http import JsonResponse
from .models import plotData
from .dash_app import app
import json
# Create your views here.
def import_json(request):
if request.method == 'POST':
data = json.loads(request.body)
title = data.get('title')
description = data.get('description')
url = data.get('url')
json_data = data.get('json_data')
plot_data = plotData.objects.create(
title = title,
description = description,
url = url,
json_data = json_data,
)
return JsonResponse({'status': 'success', 'id': plot_data.id})
else:
return JsonResponse({'status': 'error',
'message': 'Only POST requests are allowed'})
models.py:
class plotData(models.Model):
title = models.CharField(max_length = 100, primary_key=True, unique=True)
description = models.TextField()
url = models.URLField()
json_data = models.JSONField()
urls.py
from django.urls import path, include
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from django.contrib import admin
from django.urls import path
from vini_rest import views
from vini_rest.dash_app import app as dash_app
schema_view = get_schema_view(
openapi.Info(
title = "Vini API",
default_version = "v0.01",
description = "API para o site teste de consulta de dados sobre"
"vinícolas do Brasil pela Embrapa",
terms_of_service = "",
contact = openapi.Contact(email = "egrojkayode@gmail.com"),
license = openapi.License(name = "MIT License")
),
public = True,
permission_classes = (permissions.AllowAny,),
)
urlpatterns = [
path('admin/', admin.site.urls),
path('swagger/', schema_view.with_ui("swagger", cache_timeout = 0), name="schema-swagger-ui"),
path('redoc/', schema_view.with_ui('redoc', cache_timeout = 0), name = 'schema_redoc'),
path('django_plotly_dash/', include('django_plotly_dash.urls')),
path('import_json/', views.import_json, name='import_json'),
path('dashboard_view/', views.dashboard_view, name='dashboard_view'),
path('dash_app/', dash_app.server.routes),
]
setting.py | admin.py | apps.py
import dash
from dash import dcc
from dash import html
import pandas as pd
from dash.dependencies import Input, Output
from .models import plotData
json_data = plotData.objects.all()
dfs = []
for item in json_data:
df = pd.DataFrame(item.json_data)
dfs.append(df)
app = dash.Dash(__name__)
И я также предоставлю ChatGPT, который я использую для поиска ошибки, просто чтобы не выкладывать трассировку в этом посте: https://chat.openai.com/share/6828a482-a02f-4d0c-b343-190def29ce1a
Я просмотрел все возможности команд терминала на:
- python manage.py migrate appname
- python manage.py makemigrations
Я также перешел к удалению предыдущих миграций (мне это удалось, когда я тестировал сервер в первый раз, но стер миграции без новой модели, и теперь мы здесь).