-
创建模型 models.py
from django.db import models class Call(models.Model): ordernum = models.CharField( "工单号", max_length=200, default="",)
-
admin.py
from django.contrib import admin from . import models def add_delete_permission(request): group_name = request.user.groups.first().name if group_name == "风控": return False return True class CallAdmin(admin.ModelAdmin): def has_add_permission(self, request): return add_delete_permission(request) def has_delete_permission(self, request, obj=None): return add_delete_permission(request) admin.site.register(models.Call, CallAdmin)
-
tests.py 使用mock来减少创建用户、组及将用户加入组中的代码
from django.test import TestCase from . import models from django.contrib.admin.sites import AdminSite from .admin import CallAdmin from unittest import mock class CallAdminTests(TestCase): def setUp(self): self.call_admin = CallAdmin(model=models.Call, admin_site=AdminSite()) self.OurRequest = mock.Mock() self.OurRequest.user.groups.first.return_value.name = '风控' def test_has_add_permission(self): self.assertEquals(self.call_admin.has_add_permission(self.OurRequest), False) def test_has_delete_permission(self): self.assertEquals(self.call_admin.has_delete_permission(self.OurRequest), False)
-
项目下 urls.py
from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/', admin.site.urls), ]
django admin test
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- cmdb/urls.py from cmdbapp import machinaroomviews,serverv...
- Django1.11版本的官方教程翻译。 在这篇教程中,我们将设置你的数据库,创建你的第一个模型,并快速介绍Dja...