【问题标题】:How to pass data (specific fiiled) from views.py to models.py如何将数据(具体归档)从views.py 传递到models.py
【发布时间】:2022-11-02 19:39:20
【问题描述】:

我有个问题。我如何从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

我试图在views.py中调用'def'(get_category)

反正?我怎么能这样做?

【问题讨论】:

    标签: django


    【解决方案1】:

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

    {{ 标签。类别}}

    或在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

    【讨论】:

    • 我知道{{ tag.category }}我需要在课堂上做..谢谢,我会试试
    猜你喜欢
    • 1970-01-01
    • 2018-01-29
    • 2021-12-31
    • 2013-05-08
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2012-05-10
    相关资源
    最近更新 更多