django-models相关内容

基于状态的 Django 多重身份验证后端

我想知道如何根据用户是否被标记为员工来告诉 Django 使用哪个身份验证后端. 这个可以吗? 解决方案 由于 Django 使用身份验证后端来获取用户对象,因此在我们调用后端时不知道用户是否会被标记是否为员工. 仍然可以通过链接后端来为员工和非员工用户使用不同的后端,如 指定身份验证后端.例如,如果您的设置是: AUTHENTICATION_BACKEND = ('mya ..

Django Admin,显示来自相关模型的聚合值

是否可以在单个 Django 管理模型中聚合相关对象的字段. 例如,我有一个学生对象,它对测试对象有一个 FK.测试对象有一个“分数"字段. 我可以汇总所有学生考试的分数并将其放在管理 display_list 属性中吗? 解决方案 你可以,例如: 类 FixtureAdmin(admin.ModelAdmin):list_display = ["id", "title", ..
发布时间:2022-01-25 11:41:44 其他开发

使模型中的用户默认为当前用户

我有以下几点: 从 django.contrib.auth.models 导入用户类 ClientDetails(models.Model):created_by = models.ForeignKey(User)... 如何让 created_by 默认为当前登录的用户? (我想这样做是为了可以将它隐藏在管理视图中,主要是因为当我保存一个实例时,我不想每次都填充它) 解决方案 ..
发布时间:2022-01-25 11:39:35 Python

允许在 Django Admin 中编辑到可编辑 = 假字段

DRF 将使用 字段上的editable=False 将序列化程序默认为只读.这是我利用的一个非常有用/安全的默认设置(即我不会忘记将 Serializer 设置为只读).话虽如此,一旦我设置了 editable=False 是否有任何方法可以强制 Django 管理员允许编辑其中一个字段? 大概管理员是超级用户,我确实希望他能够更改字段值,但为了安全起见,我希望默认的 Serializer ..

django admin 中基于用户的模型实例过滤

我正在使用 django 的管理员来让用户管理特定模型的模型实例.每个用户应该只能管理他的模型实例.(除了应该管理所有的管理员). 如何过滤管理员更改列表视图中的对象? 想法: 我想最优雅的方法是使用 对象级权限.有人知道这个的实现吗? 是否可以使用 ModelAdmin.changelist_view 覆盖管理员的视图? list_select_related 跟它有关系吗 ..
发布时间:2022-01-25 11:36:11 其他开发

在 Django Admin 中编辑/显示主键

似乎 Django 隐藏了标记为 Primary Key 的字段,使其无法在 Django 管理界面中显示/编辑. 假设我想输入我可能想或不想指定主键的数据.我将如何在管理界面中显示主键,如何将其指定为可选? 解决方案 我还想在 Django 管理员中简单地显示“id"(主键),但不一定要编辑它.我刚刚将它添加到 readonly_fields 列表中,它显示得很好.即: clas ..
发布时间:2022-01-25 11:32:09 其他开发

Django - 如何从模型实例中获取管理员 URL

我正在尝试在保存新模型实例时向用户发送电子邮件,并且我希望电子邮件包含指向该模型实例管理页面的链接.有没有办法获得正确的网址?我认为 Django 必须将这些信息存储在某个地方. 解决方案 这个 Django 片段 应该做: 从 django.urls 导入反向从 django.contrib.contenttypes.models 导入 ContentType从 django.db 导 ..
发布时间:2022-01-25 11:30:09 Python

如何在 Django 1.6 应用程序中实现降价?

我在 models.py 中有一个文本字段,我可以在其中使用管理员输入博客的文本内容. 我希望能够以 markdown 格式编写此文本字段的内容,但我使用的是 Django 1.6,并且不再支持 django.contrib.markup. 我在 Django 1.6 中找不到任何有教程并通过将 markdown 添加到文本字段的地方.有人可以查看我的 .py 文件并帮助我在我的应用中 ..
发布时间:2022-01-25 11:29:27 Python

多对多关系的 Django 管理表单

我有 2 个表用户和域之间的多对多关系.我在 Domains 类中定义了这种关系.因此,在管理界面中,当我查看域时,我会看到用户.但是当我查看用户时,我看不到域.我怎样才能做到这一点. 解决方案 我知道这是一个较旧的线程,但这是在 google 上出现的第一个结果,我认为需要一个更好的答案. 通过 这个 django 错误报告,我找到了拥有 ManyToManyField 的最佳方式 ..
发布时间:2022-01-25 11:29:17 其他开发

如何强制 Django Admin 使用 select_related?

我的一个模型特别复杂.当我尝试在 Django Admin 中对其进行编辑时,它会执行 1042 次查询并需要 9 秒以上的时间来处理. 我知道我可以用 raw_id_fields 替换一些下拉菜单,但我认为更大的瓶颈是它没有按照应有的方式执行 select_related(). 我可以让管理站点执行此操作吗? 解决方案 虽然 jimbob 博士的回答很有道理,但根据我的需要, ..
发布时间:2022-01-25 11:28:41 其他开发