我需要在博客文章中添加标签。每个标签都可以在许多帖子上使用,并且帖子可以包含多个标签。
如何更改管理网站,以便可以在帖子中添加多个(现有)标签? 标准视图仅允许我通过创建新视图来添加。
model.py
# blog post tags
class Tag(models.Model):
name = models.CharField(max_length=20)
slug = models.SlugField(max_length=40, unique=True)
date_created = models.DateTimeField(default=timezone.now)
class Meta:
ordering = ['name']
def __str__(self):
return self.name
# blog posts
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
last_modified = models.DateTimeField(auto_now=True)
author = models.ForeignKey(User, on_delete=models.CASCADE) # 1 author per post
tags = models.ManyToManyField(Tag, related_name='tags') # n tags per m posts
class Meta:
ordering = ['title']
def __str__(self):
return self.title
我知道我需要在博客应用程序中编辑admin.py文件,但到目前为止,我尝试的所有操作均无效。这些管理员视图是否有配方?
我想实现类似this(第一个答案-过滤视图)的功能。