内容介绍
API流式数据的处理搭建filters过滤处理。
业务实现
models.py
# 内容大类类别模型
class ArticleCategory(models.Model):
category_name = models.CharField(max_length=20, verbose_name='文章类别名称', help_text="文章类别名称")
class Meta:
verbose_name = '文章类别管理'
verbose_name_plural = verbose_name
def __str__(self):
return self.category_name
# 内容二级分类类别模型
class ArticleItem(models.Model):
item_category = models.ForeignKey(
ArticleCategory, on_delete=models.CASCADE, related_name='ArticleItemCategory',
verbose_name="文章类别", help_text="文章类别"
)
item_name = models.CharField(max_length=20, verbose_name="栏目名称", help_text="栏目名称")
class Meta:
verbose_name = '文章栏目管理'
verbose_name_plural = verbose_name
def __str__(self):
return self.item_name
views.py
# 内容大类类别视图
class ArticleCategoryViewSet(viewsets.ReadOnlyModelViewSet):
queryset = ArticleCategory.objects.filter(status=1) # 提取有效数据
# 内容二级分类类别视图
class ArticleItemViewSet(viewsets.ReadOnlyModelViewSet):
queryset = ArticleItem.objects.filter(status=1) # 提取有效数据
filter_backends = (DjangoFilterBackend, filters.SearchFilter,) # 使用分类过滤,和搜索过滤的方式
filter_fields = ["item_category__category_name"] # 快速检索方式:http://xxxx/?{
{search_fields}}=xxxxx