我目前有这个博客,但我想在某种程度上限制它:模型.pyclass Post(models.Model): title = models.CharField(max_length=200) author = models.ForeignKey( 'auth.User', on_delete=models.CASCADE, ) body = models.TextField() def __str__(self): return self.title def get_absolute_url(self): return reverse('post_detail', args=[str(self.id)])视图.pyclass BlogListView(ListView): model = Post template_name = 'home.html'class BlogDetailView(DetailView): model = Post template_name = 'post_detail.html'class BlogCreateView(CreateView): model = Post template_name = 'post_new.html' fields = ['title', 'author', 'body']class BlogUpdateView(UpdateView): model = Post template_name = 'post_edit.html' fields = ['title', 'body']class BlogDeleteView(DeleteView): model = Post template_name = 'post_delete.html' success_url = reverse_lazy('home')网址.pyfrom .views import ( BlogListView, BlogDetailView, BlogCreateView, BlogUpdateView, BlogDeleteView,)urlpatterns = [ path('post/<int:pk>/delete/', BlogDeleteView.as_view(), name='post_delete'), path('post/<int:pk>/edit', BlogUpdateView.as_view(), name='post_edit'), path('post/new/', BlogCreateView.as_view(), name='post_new'), path('post/<int:pk>/', BlogDetailView.as_view(), name='post_detail'), path('', BlogListView.as_view(), name='home'),]是否可以创建一个最多只允许 5 个项目的 Django blod,并且在第 5 个项目之后添加的任何内容都应该覆盖最旧的项目?如果是这样,它是如何完成的?
1 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
你已经回答了你自己的问题。发布新博客项目时,只需找到最近的五个帖子(包括刚刚发布的帖子)并删除(或标记为隐藏)所有其他帖子。
我发现简单地不允许访问较旧的博客文章而只检索最近的五篇文章会更有意义。这将使您可以将所有旧博客帖子作为员工的档案保存并防止意外删除。
添加回答
举报
0/150
提交
取消