python - 如何在 Django 中编辑多对多关系(管理站点)
问题描述
我需要在我的博客文章中添加标签。每个标签应该在许多帖子上可用,并且帖子可以有多个标签。
如何更改管理站点,以便可以向帖子添加多个(现有)标签?标准视图只允许我通过创建新视图来添加。
模型.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 文件,但到目前为止我尝试的一切都不起作用。这些管理视图是否有秘诀?
我想实现这样的目标(第一个答案 - 过滤视图)。
解决方案
推荐阅读
- c# - 将字典值绑定到 ObservableCollection C# - XAML
- python - 为什么 Python 2.7 会为 threading.Thread 创建进程
- c# - 如何在 Unity3d 中获取 UI.Button 的 4 点坐标
- javascript - 在执行下一个代码之前等待输入结束?
- java - android.widget.FrameLayout 无法转换为 com.ramotion.foldingcell.FoldingCell
- mongodb - 我是否需要为我的架构使用迁移,或者它没用,我需要动态创建所有内容?
- java - 我如何从 process.popen 追加数据
- android - 我的 DocumentsProvider 如何访问用于启动文件选择器的意图数据
- kubernetes - 带有 Airflow 的 Webserver 404 部署在 Minikube 上
- pandas - 对熊猫数据框中的列中的特定值进行排序