Я новичок в django, я хочу изменить мои модели (которые уже есть в моей базе данных sqlite3) без ошибок всего моего проекта. В прошлый раз, когда я модифицировал свои модели, мне потребовались часы, чтобы исправить это, потому что я прослушал весь проект. Так что я не хочу делать ту же ошибку, не могли бы вы, ребята, помочь мне с командами, пожалуйста? Спасибо за помощь
models.py (на данный момент)
from django.db import models
THE_GENDER = [
("Monsieur", "Monsieur"),
("Madame", "Madame")
]
class Post(models.Model):
name = models.CharField(max_length=100)
email = models.CharField(max_length=100)
gender = models.CharField(max_length=8, choices=THE_GENDER)
number = models.CharField(max_length=100)
def __str__(self):
return self.name
Правка, которую я хочу внести в модели (я хочу добавить автора модели в модели. Поэтому я знать, кто делает форму.)
from django.db import models
from django.contrib.auth.models import User
THE_GENDER = [
("Monsieur", "Monsieur"),
("Madame", "Madame")
]
class Post(models.Model):
name = models.CharField(max_length=100)
email = models.CharField(max_length=100)
gender = models.CharField(max_length=8, choices=THE_GENDER)
number = models.CharField(max_length=100)
author = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.name
мои файлы admin.py (не уверен, что если мне нужно оставить то же самое или изменить его)
from django.contrib import admin
from .models import Post
admin.site.register(Post)
мои файлы form.py
from django import forms
from .models import Post
from crispy_forms.helper import FormHelper
class post_form(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(post_form, self).__init__(*args, **kwargs)
self.helper = FormHelper(self)
class Meta:
model = Post
fields = ["name", "email", "gender", "number"]
views.py
from django.shortcuts import render
from django.http import HttpResponse
from .forms import post_form
# Create your views here.
def home(request):
form = post_form(request.POST or None)
if form.is_valid():
form.save()
context = {
"form": form
}
return render(request, "sms/home.html", context)