python - 问题创建 Django 模型
问题描述
我正在尝试通过 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
模型.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}"
视图.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',
),
]
解决方案
migrations
从项目根目录中删除您的文件夹。- 创建一个新
migrations
文件夹。 - 在该文件夹中添加一个
__init__.py
空文件。 - 运行
python manage.py makemigrations
和python manage.py migrate
。
这只会创建一个新的迁移文件。
推荐阅读
- python - Selenium 通过 Outlook 邮件登录导航(无头驱动程序)
- html - 如何在 ASP.NET 上单击模态按钮调用方法?
- java - Java 使用编组器防止字符串转义
- javascript - 如果我的数据不是每天都存在于 Shiny 中,如何用 day 编写“if 函数”
- sql - H2数据库自增非主键列
- angular - Angular中的主题与行为主题
- c# - 使用正则表达式格式化字符串并替换值
- r - 使用 data.table 过滤以仅保留一对一匹配
- svelte - SvelteKit 和 Swiper 6.8.1:如何使用 slideTo(index)
- java - 从 SQLException 异常中获取 SQLState