我有cbt generic listview
我想用两个slu filtering筛选。但slug_url_kwargs
只允许传递单个字符串。我如何更新slug_url_kwarg
以支持多个slu??或者我还能做些什么呢?基于类的视图django多个slu 012
所以我有这个模型和视图功能
class SaityProfile(models.Model):
user = models.ForeignKey(User, default=0)
about = models.CharField(max_length=255, blank=True)
name = models.CharField(max_length=255)
url = models.CharField(max_length=255, unique=True)
def __unicode__(self):
return self.name
class Saity(models.Model):
profile = models.ForeignKey('SaityProfile', null=True)
user = models.ForeignKey(User, null=True)
name = models.CharField(max_length=250)
url = models.CharField(max_length=250, default=gen_slug_page)
desc = models.CharField(max_length=250, blank=True)
order = models.IntegerField(default=1)
def get_absolute_url(self):
return reverse('sites:website_pages', kwargs={'website_slug': self.url})
class WebsitesProfileList(generic.ListView):
model = Saity
slug_field = 'url'
slug_field_kwargs = 'profile_url'
template_name = 'saity_ds/websites_profile_list.html'
def get_context_data(self, **kwargs):
self.profile = SaityProfile.objects.get(url=self.kwargs['profile_url'])
extra_context = {
'profile': self.profile
}
context = super(WebsitesProfileList, self).get_context_data(**kwargs)
context.update(extra_context)
return context
我的代码看起来像这样类似。我想添加新功能。我选择了基于班级的观点,并且我认为这是我的错误,因为目前还不清楚
'ListView'完全不使用'slug_url_kwarg'。请[编辑]您的问题以包含更多信息,例如您的网址格式,模型以及要过滤的字段。 – Alasdair
谢谢,我的意思是slu url在urlconf,如果我有两个slu what,我想过滤基于slu k kwargs? –
你没有添加任何更多的信息到你的问题,因为我问。如果包含模型,slug字段的名称,url模式以及您迄今为止尝试过的任何视图,则回答您的问题要容易得多。如果你不包含这些信息,那么你就要求我们发明一些例子。这使得难以回答,所以你可能得不到答复。 – Alasdair