我正在写一个简单的博客,我正在尝试为每个帖子实现一个嵌套的评论系统。
我创建了评论模型,它通过 Django 管理页面运行良好。
我不知道如何创建用于发布新评论和回复的表单。
这是我到目前为止所拥有的:
模型.py
(...)
class Post(models.Model):
author = models.ForeignKey('Author', on_delete=models.CASCADE)
title = models.CharField(max_length=250)
slug = models.SlugField(unique=True, blank=True, max_length=250)
created = models.DateTimeField(auto_now=False, auto_now_add=True)
modified = models.DateTimeField(auto_now=True, auto_now_add=False)
tags = TaggableManager(blank=True)
image = models.ImageField(upload_to="images/%Y/%m/", blank=True, null=True)
content = models.TextField()
def get_absolute_url(self):
return reverse('post_detail', kwargs={'slug': self.slug, })
# create slug
def save(self, *args, **kwargs):
if not self.id:
self.slug = slugify(unidecode(self.title))
super(Post, self).save(*args, **kwargs)
def __str__(self):
return str(self.title)
class Comment(MPTTModel):
post = models.ForeignKey("Post", on_delete=models.CASCADE, null=True, related_name='comments')
parent = TreeForeignKey('self', null=True, …Run Code Online (Sandbox Code Playgroud) 我想在许多模型中搜索多个字段.我不想使用其他应用程序,如'Haystack',只有纯Django.例如:
# models.py
class Person(models.Model):
first_name = models.CharField("First name", max_length=255)
last_name = models.CharField("Last name", max_length=255)
# other fields
class Restaurant(models.Model):
restaurant_name = models.CharField("Restaurant name", max_length=255)
# other fields
class Pizza(models.Model):
pizza_name = models.CharField("Pizza name", max_length=255)
# other fields
Run Code Online (Sandbox Code Playgroud)
当我键入'Tonny'时,我应该得到一个:
Person模特Restaurant模特pizza模特的"Tonny's Special Pizza" .