我有个问题.我如何才能传递来自Models.py的数据(可能是def 我需要这个,以便将来按类别过滤

class Tag(models.Model):
.......
    category = models.ForeignKey(Category, null=True, on_delete=models.PROTECT, related_name='category', verbose_name='Tag category')
......

def get_category(self):
return self.category

添加到views.py.这是它不能用了

class GetDetailTag(DetailView):
model = Tag
template_name = 'main/catalog.html'
context_object_name = 'tag'
category = Tag.get_category



def get_context_data(self, *, object_list=None, **kwargs):
    context = super().get_context_data(**kwargs,)
    context['pansion_in_tag_list'] = Pansions.objects.filter(tags__slug=self.kwargs['slug'])
    context['tags_in_category'] = Tag.objects.filter(category__slug = '...INSERT THE DATA FROM MODEL HERE...')
    return context

我正在try 调用views.py中的‘def’(Get_Ategory)

不管怎么说?我怎么能做到这一点呢?

推荐答案

您可以直接从标签中获取,因此:

{{ tag.category }}

或在DetailView名中:

class TagDetailView(DetailView):
    model = Tag
    template_name = 'main/catalog.html'
    context_object_name = 'tag'

    def get_context_data(self, *, object_list=None, **kwargs):
        context = super().get_context_data(object_list=object_list, **kwargs)
        context['pansion_in_tag_list'] = Pansions.objects.filter(
            tags__slug=self.kwargs['slug']
        )
        context['tags_in_category'] = Tag.objects.filter(
            category_id=self.object.category_id
        )
        # category = self.object.category (obtain the category)
        return context

Django相关问答推荐

Django Signals:从实例访问ManyToManyRel值

从Azure Web应用服务器上的cron任务的虚拟环境加载变量

django re_path() 函数模式与包含该模式的 url 不匹配

Django获取具有值的相关对象的计数并将其添加到注释中

Django ORM:获取每个类别的月平均价格

如何根据反向外键相关模型的字段过滤 QuerySet?

Django-Registration:邮箱作为用户名

Django PositiveIntegerField 中的 0 值?

Django - 强制执行 ManyToManyField 唯一项

有 Django List View 模型排序吗?

UnicodeEncodeError:ascii编解码器无法编码字符

升级到 Django 1.8 后提供的固定默认值

刷新时重新提交的django表单

Django REST Framework - 序列化可选字段

Django 1.7 - 如何 suppress (1_6.W001)某些元素单元测试可能无法按预期执行.?

Django unique_together 与可为空的 ForeignKey

如何获取经过身份验证的用户列表?

Django中reverse()和reverse_lazy()的区别

过滤查询参数

BASE DIR 的绝对路径是什么?