【发布时间】:2020-12-11 17:31:52
【问题描述】:
我无法按类别过滤。
category = ['fruits', 'vegetable']
post = ['apple', 'banana', 'onion']
python 3 / django 3
project/app/models.py
>from django.db import models
# Create your models here.
class Category(models.Model):
name = models.CharField(max_length=100)
class Post(models.Model):
title = models.CharField(max_length=100)
category = models.ForeignKey(Category, on_delete=models.PROTECT)
类别
category1 name=fruits
category2 name=vegetable
发布
post1 title=apple category=fruits
post2 title=banana category=fruits
post3 title=onion category=vegetable
python manage.py shell
>>> from post.models import *
>>> category = Category.objects.all()
>>> print(category)
<QuerySet [<Category: vegetable>, <Category: fruits>]>
>>> post = Post.objects.all()
>>> print(post)
<QuerySet [<Post: apple>, <Post: banana>, <Post: onion>]>
views.py 工作!!!
def category(request, pk):
category = Category.objects.all()
post = Post.objects.filter(category__name='vegetable')
category_key = Category.objects.get(name=pk)
return render(request, 'post/list.html', {'post':post, 'category':category})
views.py 不工作:(
def category(request, category_name, pk):
category = Category.objects.all()
post = Post.objects.filter(category__name=category_name)
category_key = Category.objects.get(name=pk)
return render(request, 'post/list.html', {'post':post, 'category':category})
【问题讨论】:
-
这能回答你的问题吗? Django - filtering on foreign key properties
标签: python django categories