【发布时间】:2021-06-21 16:48:57
【问题描述】:
我正在尝试通过 Django 模型创建一些新表,但是,每次我尝试 Migrate 进行更改时,都会出现以下错误。它说这是一个语法错误,但我无法检测到。我做错了什么?
Operations to perform:
Apply all migrations: RegistrarProyecto, admin, auth, contenttypes, sessions, vuelos
Running migrations:
Applying RegistrarProyecto.0008_auto_20210621_1223...Traceback (most recent call last):
File "C:\Users\pansh\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "C:\Users\pansh\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\sqlite3\base.py", line 423, in execute
return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: near ")": syntax error
models.py
from django.db import models
from django.db.models.fields import CharField
from django.db.models.fields import IntegerField
# Create your models here.
class Proyecto(models.Model):
NombreProyecto = models.CharField(max_length = 64)
ResponsableProyecto = models.CharField(max_length= 64)
DescripcionProyecto = models.CharField(max_length = 64)
def __str__(self):
return f"{self.NombreProyecto}"
views.py
from django.http.response import HttpResponse
from django.shortcuts import render
from django.shortcuts import redirect
from .models import Proyecto
# Create your views here.
def index (request):
return render (request, "RegistrarProyecto/index.html", {
"Proyecto": Proyecto.objects.all()
})
def registro(request):
if request.method == 'POST':
NombreProyecto = request.POST.get('NombreProyecto')
ResponsableProyecto = request.POST.get('ResponsableProyecto')
DescripcionProyecto = request.POST.get('DescripcionProyecto')
Proyecto.objects.create(NombreProyecto=NombreProyecto,ResponsableProyecto=ResponsableProyecto,DescripcionProyecto=DescripcionProyecto)
return redirect("/RegistrarProyecto")
return render(request, 'RegistrarProyecto/Registro.html')
def financiamiento(request):
return render(request,"RegistrarProyecto/financiamiento.html")
RegistrarProyecto/0008_auto_20210621_1223.py
这是迁移生成的代码
# Generated by Django 3.2.3 on 2021-06-21 16:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('RegistrarProyecto', '0007_alter_financiamiento_proyecto'),
]
operations = [
migrations.CreateModel(
name='fight',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('Nombre', models.CharField(max_length=64)),
('Edad', models.IntegerField()),
],
),
migrations.RemoveField(
model_name='financiamiento',
name='Proyecto',
),
migrations.DeleteModel(
name='Evaluador',
),
migrations.DeleteModel(
name='Financiamiento',
),
migrations.DeleteModel(
name='Proyecto',
),
]
【问题讨论】:
-
请分享迁移文件:
RegistrarProyecto/0008_auto_20210621_1223.py -
我已发送文件
-
@Thrillidas 你用的是什么版本的 Django 和 sqlite3?
-
我真的不知道,我使用的是 django 默认数据库,而且我对此很陌生,如何确定版本?