Ich fügte neue Spalten in meine models.py
Datei, speicherte meinen Code, dann in Terminal
Ich lief sudo python manage.py makemigrations music
gefolgt von sudo python manage.py migrate
. Nach sudo python manage.py migrate
läuft, bekomme ich einen Fehler in Terminal
sagen:Warum funktioniert meine Datenbank nicht?
Hier ist meine index.html
Datei:
<!DOCTYPE html>
<html lang="en">
<head>
<title>The Page</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
{% load static %}
<link rel="stylesheet" href="{% static 'index.css' %}">
</head>
<body>
<form class="col-md-4 col-md-offset-4" method="POST" name="formHandler">
{% csrf_token %}
<div class="userNameMovement">
<label for="usr">Email:</label>
<input class="form-control" id="email" name="email" placeholder="email" required="required">
</div>
<div class="passwordMovement">
<label for="usr">Username:</label>
<input class="form-control" id="userName" name="userName" placeholder="Username" required="required">
<button type="submit" class="btn btn-default">Submit</button>
</form>
</body>
</html>
Hier ist meine models.py
Datei:
from django.db import models
class Person(models.Model):
email = models.CharField(max_length=20, default=4)
userName = models.CharField(max_length=20, default=4)
def __str__(self):
return self.email + " - " + self.userName
class UI(models.Model):
person = models.ForeignKey(Person, on_delete=models.CASCADE)
Hier ist meine views.py
Datei:
from django.http import HttpResponse
from django.shortcuts import render
from .models import Person
def index(request):
if request.method == 'POST':
email = request.POST.get('email')
userName = request.POST.get('userName')
if email and userName:
user = Person.objects.create(email=email, username=userName)
user.save()
return render(request, 'music/index.html')
def detail(request, user_id): # Testing out page 2
return HttpResponse("<h2>Page # (testing this out) " + str(user_id) + "</h2>")
Sie sollten auf jeden Fall nicht Ihre Migrationen als 'sudo' ausgeführt werden. –
@DanielRoseman Ich habe versucht, es ohne Sudo zu laufen, funktioniert immer noch nicht. Ich kann '.save()' kein beliebiges Person-Objekt im Terminal ohne einen Fehler zu bekommen – bojack
In Ihren anderen Migrationsdateien sehen Sie eine Migration mit dem E-Mail-Feld? –