小编lal*_*alo的帖子

"NoneType"类型的对象在django ClassBased ListView中没有len()

我有以下视图显示搜索记录列表

class ListOfSearchedRecords(LoginRequiredMixin, ListView):
    template_name = 'list_of_searched_records.html'
    context_object_name = 'filtered_records'
    paginate_by = 10

    def get_queryset(self):
        """
        Returns the Records 
        """
        if self.request.method == "GET" and self.request.GET:
            if 'q' in self.request.GET:
              if self.request.GET['q']:
                keyword = self.request.GET.get('q', None)
                log.debug("Filtered keyword: %s", keyword)
                result = Product.objects.order_by('-created').filter(
                  Q(products__name__icontains=keyword))
                if result:
                  return result
                else:
                  return []

    def get_context_data(self, **kwargs):
        context = super(ListOfSearchedRecords, self).get_context_data(**kwargs)
        context.update(
           {
           'context_list':['Data_one', 'Data_two', 'Data_three']}
           )
        return context
Run Code Online (Sandbox Code Playgroud)

追溯

Traceback (most recent call last):
  File "/home/user/Envs/proj/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 115, in get_response
    response = …
Run Code Online (Sandbox Code Playgroud)

django listview django-class-based-views nonetype

2
推荐指数
1
解决办法
4915
查看次数

Django管理员不允许保存unicode slugs

我正试图为这个模型保存一个波斯slu ::

class Category(models.Model):
    name = models.CharField('name', max_length=100)
    slug = models.SlugField('slug', unique=True)
    description = models.TextField('description')

    class Meta:
        verbose_name = 'category'
        verbose_name_plural = 'categories'

    @permalink
    def get_absolute_url(self):
        return ('category_detail', None, {
            'slug': self.slug
        })

    def __unicode__(self):
        return u'%s' % self.name
Run Code Online (Sandbox Code Playgroud)

但Django没有保存页面和投诉:

Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens
Run Code Online (Sandbox Code Playgroud)

我也尝试使用这种保存方法

    def save(self, *args, **kwargs):
      self.name = slugify_unicode(self.name)
      super(Category, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

但它没有解决问题.所以我对此有所了解并感谢您帮助解决这个问题.

django django-admin python-unicode

1
推荐指数
1
解决办法
492
查看次数