我最近学习了Django并想做一些项目,我想让它成为一个论坛网站,但是当我在做一个讨论论坛时,当我登录并发布数据时,我会得到以下错误:
NULL约束失败: forum_thread.title
models.py
from django.db import models
from django.utils.timezone import now
from django.contrib.auth.models import User
from datetime import datetime
class Thread(models.Model):
sno = models.AutoField(primary_key=True)
title = models.CharField(max_length=255)
slug = models.SlugField(max_length=255)
category = models.ForeignKey('category', related_name="Thread", on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)
description = models.TextField()
timestamp = models.DateTimeField(default=datetime.now, blank=True)
def __str__(self):
return self.title
class Category(models.Model):
sno = models.AutoField(primary_key=True)
name = models.CharField(max_length=100)
slug = models.SlugField(max_length=100)
description = models.TextField()
timestamp = models.DateTimeField(default=datetime.now, blank=True)
class Meta:
verbose_name_plural = "Categories"views.py
from django.shortcuts import render, redirect
from django.http import HttpResponse
from django.contrib.auth.models import User
from django.contrib.auth import authenticate, login, logout
from django.contrib import messages
from .models import Thread, Category
def addThread(request):
if request.method == "POST":
thread_title = request.POST.get('threadtitle')
thread_slug = request.POST.get('threadslug')
thread_category = request.POST.get('threadcategory')
thread_description = request.POST.get('threaddescription')
user = request.user
thread = Thread(title = thread_title, slug = thread_slug, category=thread_category,
description = thread_description, user = user)
thread.save()
messages.success(request, 'thread added successfully')
return redirect('home') 发布于 2020-12-07 09:48:15
您可以简单地更改函数,如def str(self):返回self.title
def __str__(self):
if self.name:
return self.title
return 'Untitled发布于 2020-12-07 12:07:48
根据Thread模型,数据库中的标题不能为空。因此,确保HTML是必需的,并且request.POST.get('threadtitle')是存在的,并且有一个值。
https://stackoverflow.com/questions/65179272
复制相似问题