django - Django 模型,多值/管理区域
问题描述
我已经开始使用 Django。我正在创建一个博客,我现在需要一个提示。我想在我的帖子中添加标签。所以我为我的标签创建了一个模型:
class Tag(models.Model):
name = models.CharField(max_length=200, unique=True)
def __str__(self):
return self.name
这是我的帖子模型
class Post(models.Model):
title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts')
updated_on = models.DateTimeField(auto_now= True)
content = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
status = models.IntegerField(choices=STATUS, default=0)
class Meta:
ordering = ['-created_on']
def __str__(self):
return self.title
用户可以在管理区域标签中为帖子选择多个标签或创建新标签的最佳方式是什么?
解决方案
在 Post 类中,添加一个字段 ManyToMany
class Post(models.Model):
title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts')
updated_on = models.DateTimeField(auto_now= True)
content = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
status = models.IntegerField(choices=STATUS, default=0)
tag = models.ManyToManyField(Tag)
class Meta:
ordering = ['-created_on']
def __str__(self):
return self.title
推荐阅读
- c# - Try and catch 块未捕获格式异常
- angular - 如何隐藏默认的 HTML 附加文件夹按钮;但是在我们的自定义按钮中使用该功能
- html - 溢出:滚动容器缩小孩子而不是让他们根据需要扩大
- arcore - 不支持 CPU 镜像访问
- c# - 使用 Aspose PDF .Net 时添加文本框字段会引发“IndexOutBoundsException”
- aws-cdk - 如何在 AWS CodeBuild 中设置 AWS CDK 应用程序执行?
- ios - CollectionView 在我的聊天视图中按顺序更新和复制。(Swift 4.2,Xcode)(MessengerKit)
- docker - 拉取图像和从 tar 文件加载图像的区别
- php - 当我使用 Linux task-crontab 时如何同时解决多个问题
- regex - Spring验证:正则表达式注释不起作用