During the pagination process, it displays the following error:
"TypeError at / goods / 5 / object of type 'NoneType' has no len ()"
views.py
class GoodsListView( PageNumberView, ListView, SortMixin, CategoryListMixin ): model = Good template_name = 'goods_index.html' paginate_by = 10 cat = None def get( self, request, *args, **kwargs ): if self.kwargs[ 'pk' ] == None: self.cat = Category.objects.first() else: self.cat = Category.objects.get( pk = self.kwargs[ 'pk' ] ) return super( GoodsListView, self ).get( request, *args, **kwargs ) def get_context_data( self, **kwargs ): context = super( GoodsListView, self ).get_context_data( **kwargs ) context[ 'category' ] = self.cat return context models.py
class Good( models.Model ): name = models.CharField( max_length = 50, unique = True, db_index = True, verbose_name = 'ΠΠ°Π·Π²Π°Π½ΠΈΠ΅' ) category = models.ForeignKey( Category, verbose_name = 'ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ' ) description = models.TextField( verbose_name = 'ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅' ) content = models.TextField( verbose_name = 'ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅' ) price = models.FloatField( db_index = True, verbose_name = 'Π¦Π΅Π½Π°, ΡΡΠ±.' ) price_acc = models.FloatField( null = True, blank = True, verbose_name = 'Π¦Π΅Π½Π° Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠΊΠΈΠ΄ΠΊΠΈ, ΡΡΠ±.' ) in_stock = models.BooleanField( default = True, db_index = True, verbose_name = 'ΠΡΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ' ) featured = models.BooleanField( default = False, db_index = True, verbose_name = 'Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ' ) image = models.ImageField( upload_to = 'goods/list', verbose_name = 'ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅' ) urls.py
urlpatterns = [ url( r'^(?P<pk>\d+)/$', GoodsListView.as_view(), name = 'goods_index' ), ]