Python Django where在queryset中,url中带有逗号分隔的slug
我有一个模特 型号.pyPython Django where在queryset中,url中带有逗号分隔的slug,python,django,Python,Django,我有一个模特 型号.py class Category(models.Model): title = models.CharField(max_length=100,null=True,blank=False) slug = models.SlugField(max_length=150,null=True,blank=False) class Post(models.Model): title = models.CharField(max_length=256,nul
class Category(models.Model):
title = models.CharField(max_length=100,null=True,blank=False)
slug = models.SlugField(max_length=150,null=True,blank=False)
class Post(models.Model):
title = models.CharField(max_length=256,null=True,blank=False)
categories = models.ManyToManyField(Category)
class PostList(TemplateView):
...
def get(self,request,*args,**kwargs):
categories = request.GET.get('category')
post_list = Post.objects().filter(categories__in=categories)
...
因此,在视图中,我需要查询所有具有特定类别的帖子
这是将使用的url或-PK或slug
视图.py
class Category(models.Model):
title = models.CharField(max_length=100,null=True,blank=False)
slug = models.SlugField(max_length=150,null=True,blank=False)
class Post(models.Model):
title = models.CharField(max_length=256,null=True,blank=False)
categories = models.ManyToManyField(Category)
class PostList(TemplateView):
...
def get(self,request,*args,**kwargs):
categories = request.GET.get('category')
post_list = Post.objects().filter(categories__in=categories)
...
由于传递了逗号分隔的字符串,上面的视图引发了以下错误:int()的
无效文本,以10为基数:','
,但如何实现这一点?逗号分隔您必须手动执行此操作:
categories=request.GET.GET('category').split(',')
更多的Django方法是将查询字符串更改为
?类别=slug1&category=slug2
那你可以用
categories=request.GET.getlist('categority')