为了账号安全,请及时绑定邮箱和手机立即绑定

拥有一个最多包含 5 个项目的博客

拥有一个最多包含 5 个项目的博客

largeQ 2022-01-11 19:33:47
我目前有这个博客,但我想在某种程度上限制它:模型.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个赞

你已经回答了你自己的问题。发布新博客项目时,只需找到最近的五个帖子(包括刚刚发布的帖子)并删除(或标记为隐藏)所有其他帖子。

我发现简单地不允许访问较旧的博客文章而只检索最近的五篇文章会更有意义。这将使您可以将所有旧博客帖子作为员工的档案保存并防止意外删除。


查看完整回答
反对 回复 2022-01-11
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信