首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Django中的模型创建审批系统?

如何为Django中的模型创建审批系统?
EN

Stack Overflow用户
提问于 2021-03-12 09:18:11
回答 1查看 123关注 0票数 0

我为几种类型的用户创建了一个系统。这些用户是分析师、主管、经理等。我的系统中有一个信用限额表(doa)。我希望当lead类型的用户更新这个表中的字段时,在manager批准之前,它不应该被接受。

因此,在manager批准新值之前,旧值应该是有效的,当manager批准新值时,新值应该被接受。我怎么能这么做?

这是我的密码:

models.py

代码语言:javascript
复制
class DoaTable(models.Model):
    LIMITS = (
        ('Low Risk', 'Low Risk'),
        ('Medium Risk', 'Medium Risk'),
        ('Moderately High Risk', 'Moderately High Risk'),
        ...
    )

    RANKS = (
        ('Analyst', 'Analyst'),
        ('Senior Analyst', 'Senior Analyst'),
        ('Lead', 'Lead'),
        ('Manager', 'Manager'),
        ...
        ('Chief Financial Officer', 'Chief Financial Officer'),
    )
    rank = models.CharField(max_length=200, choices=RANKS)
    risk = models.CharField(max_length=200, choices=LIMITS)
    limit = models.FloatField()
    ...

views.py

代码语言:javascript
复制
def update_limit(request, id):
    limiting = get_object_or_404(DoaTable, id=id)
    form = UpdateDoaTableForm(request.POST or None, request.FILES or None, instance=limiting)
    limiting_item = DoaTable.objects.filter(id=id)

    if form.is_valid():
        update_form = form.save(commit=False)
        update_form.approval = False
        update_form.save()
        return redirect('approvals:update_limit_list')

    context = {
        'form': form,
        'limiting_item': limiting_item,
    }

    return render(request, 'limitUpdate.html', context)

forms.py

代码语言:javascript
复制
class UpdateDoaTableForm(forms.ModelForm):
    class Meta:
        model = DoaTable
        fields = ('limit',)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-13 08:53:13

创建一个表来保存更改。当经理批准时,您可以保存更改。

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

https://stackoverflow.com/questions/66597173

复制
相关文章

相似问题

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