При попытке решить одну проблему мне удалось предотвратить работу ListView. Я попробовал поискать в Google проблему, но получил тысячи страниц теории и, к сожалению, никакого реального руководства.
class PostListView(ListView):
model = Post
template_name = 'blog/home.html'
context_object_name = 'posts'
ordering = ['-date_posted']
Я добавил эти строки кода в модель, вызвавшую проблему.
url= models.SlugField(max_length=500, unique=True, blank=True)
def save(self, *args, **kwargs):
self.url= slugify(self.title)
super(UserPost, self).save(*args, **kwargs)
models.py
Обновление - я попытался добавить SlugField на основе комментария Педроса.
class Post(models.Model):
title = models.CharField(max_length=20)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now())
author = models.ForeignKey(User, on_delete=models.CASCADE)
url= models.SlugField(max_length=350, unique=True, blank=True)
def save(self, *args, **kwargs):
self.url= slugify(self.title)
super(UserPost, self).save(*args, **kwargs)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('article_detail', kwargs={'slug': self.slug})
class Comment(models.Model):
post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name='comments')
name = models.CharField(max_length=40)
email = models.EmailField()
body = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
active = models.BooleanField(default=False)