首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django中的发布和保存草稿功能

问Django中的发布和保存草稿功能
EN

Stack Overflow用户
提问于 2021-10-05 12:41:01
回答 1查看 67关注 0票数 1

我正在开发一个带有React前端的Django Rest Framework B2B应用程序。数据从csv馈送,然后在React中呈现Analytics仪表板。每个账号(“用户”)都是一家公司--在公司内部,整个营销团队(比方说)都在使用这款应用。每个公司帐户都有该公司独有的数据。以及该公司独有的仪表板首选项。管理员是代表公司拥有编辑/管理员权限的公司经理/员工(例如,波音、耐克等)的人类用户。该"admin“对仪表板首选项进行了一些更改,并希望”发布“更改,以便公司帐户的其他员工(营销团队的其他成员)可以查看更新后的仪表板。但可能还没有,因此有了“保存草稿”功能。

我不确定如何在Django (DRF)中以最行业标准的方式获得这两个功能-当我点击“发布”时,整个营销团队应该能够看到这些变化。(这是一个B2B应用程序)。但当我保存草稿时,我应该能够查看更改(以管理员身份),但不能查看营销团队的其他成员。如果有任何帮助,我将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-10-05 13:08:55

控制面板您可以使用选择字段来管理模型(在本例中为)的状态

示例代码如下

models.py

代码语言:javascript
复制
class Dasboard(models.Model):
    STATUS_CHOICES = (('draft', 'Save Draft'), ('published', 'Published'))
    status = models.Charfield(max_length=20, choices=STATUS_CHOICES)
    # Others models fields

views.py

代码语言:javascript
复制
def dashboard(request):
    objects = None
    if request.user.is_admin:
        # The admin users can see draft and saved (all Dashboard objects)
        objects = Dashboard.objects.all()
    else:
        # Others users are seeing only published
        objects = Dashboard.objects.filter(status='published')
    return render(request, 'app_name/dashboard.html', {'objects': objects})

Django NB :在这里,我只使用了的filter特性来根据用户类型检索一些数据。但您也可以使用Django permissions进行更高级的处理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69450651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档