I am trying to create a blog website in django using postgres with heroku in the cloud. When trying to submit the post using forms from django I get this error "ProgrammingError at /create-post column "title" of relation "main_post" does not exist LINE 1: INSERT INTO "main_post" ("author_id", "title", "description"... "
This is my view for creating posts
from django.shortcuts import render, redirect
from .forms import RegisterForm, PostForm
from django.contrib.auth.decorators import login_required
from django.contrib.auth import login, logout, authenticate
@login_required(login_url="/login")
def home(request):
return render(request, 'main/home.html')
@login_required(login_url="/login")
def create_post(request):
if request.method =='POST':
form = PostForm(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.author = request.user
post.save()
return redirect("/home")
else:
form = PostForm()
return render(request, 'main/create_post.html', {"form": form})
This is my forms.py file
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
from .models import Post
class RegisterForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields = ["username", "email", "password1", "password2"]
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ["title", "description"]
This is my Post model
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
description = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title + "\n" + self.description
This is the error