Почему после добавления он не показывает никаких данных?

Работаю над простым приложением To Do с использованием Django 3.2. В данный момент я работаю над отношениями один к одному, в которых каждый конкретный пользователь имеет свои собственные данные (которые являются заданиями для выполнения в данном случае). Я сделал это, создав поле в models.py user = models.ForeignKey(User, on_delete=CASCADE, null=True). Проблема в том, что когда я добавляю задачу в домашний шаблон, она не отображается

models.py

from django.db import models
from django.contrib.auth.models import User
from django.db.models.deletion import CASCADE

# Create your models here.

class user_active(models.Model):
    content = models.CharField(max_length=200, null=True)
    created = models.DateTimeField(auto_now_add=True)
    name = models.CharField(max_length=200, null=True)
    email = models.CharField(max_length=200, null=True)
    user = models.ForeignKey(User, on_delete=CASCADE, null=True)

    def __str__(self):
        return self.content

forms.py

from django import forms
from django.forms import ModelForm, fields
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User

from .models import user_active

class CreateUserForm(UserCreationForm):
    class Meta:
        model = User
        fields = ['username', 'first_name', 'last_name', 'email', 'password1', 'password2']

home.html

<div>
  <form class="felx" action="add_content/" method="POST">
    {% csrf_token %}
    <input class="form-control me-2" type="text" name="content" placeholder="Hey">
    <button id="add-btn" class="button" type="submit">Add</button>
  </form>

  <table>
    <thead>
      {% for all_item in all_items %}
        <tr>
          <td>{{ all_item.content }}</td>
        </tr>
      {% endfor %}
    </thead>
  </table>
  <a href="{% url 'demo1:login' %}">Logout</a>

  {% if request.user.is_authenticated %}
    <p>Hello {{request.user}}</p>
  {% endif %}  
</div>

views.py

from django.shortcuts import render, redirect
from django.http.response import HttpResponse
from django.utils import timezone
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required

# from demo1.forms import CeateUserForm1

from .models import *
from .models import __str__

from .forms import CreateUserForm


def home(request):
    user = request.user
    
    all_items = user_active.objects.filter(user=user).order_by("created")
 
    context = {'all_items': all_items}

    return render(request,  'html/home.html', context)

def add_content(request):
    user = request.user
    current_date = timezone.now()
    newItem = user_active(content=request.POST.get('content'))
    print('New item:', newItem)
    newItem.save()
    return redirect('/')

def login_user(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')

        user = authenticate(request, username=username, password=password)

        if user is not None:
            login(request, user)
            return redirect('/')
    return render(request, 'html/login.html')

def logoutUser(request):
    logout(request)
    return redirect('login/')

def register_user(request):
    form = CreateUserForm()
    if request.method == 'POST':
        form = CreateUserForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.save()

            user = authenticate(request, username=user.username, password=request.POST.get('password1'))

            if user is not None:
                login(request, user)
                return redirect('/')
    
    context = {'form':form}

    return render(request, 'html/register.html', context)

Также, чтобы проверить это, я печатаю newItem, чтобы увидеть, добавлены ли в него какие-либо данные, и да, он показывает в терминале новый элемент, но не в шаблоне. Не уверен, почему возникает эта ошибка. Буду признателен за любой ответ или предложение. Спасибо1

В вашем представлении add_content вы не присваиваете пользователя объекту user_active, когда создаете newItem.

def add_content(request):
    user = request.user
    current_date = timezone.now()

    #here you need to assign the user
    newItem = user_active(user=user, content=request.POST.get('content'))

    print('New item:', newItem)
    newItem.save()
    return redirect('/')
Вернуться на верх