从管理页面删除 Django 中的 ManyToManyField 并单击按钮

2024-05-06

我有两个模型如下:

模型.py

from django.db import models
from django.contrib.auth.models import User

class Skill(models.Model):
    skill = models.CharField(max_length=50)

    def __str__(self):
        return self.skill

class Designer(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    description = models.TextField(max_length=500, blank=True)    
    date_created = models.DateField(auto_now_add=True)
    profile_img = models.ImageField(upload_to="gallery",null=True, blank=True)
    skills = models.ManyToManyField(Skill, blank=True)
    experience = models.IntegerField(blank=True, null=True)
    account_type = models.CharField(max_length=10)

    def __str__(self):
        return self.user.username

Designer 模型扩展自 User 模型,它与 Skill 模型具有多对多关系。我可以从管理页面向设计器实例添加技能,但没有删除选项。如何在管理页面上获得删除选项?我还想添加单击按钮时的删除功能。我怎样才能将它添加到代码中?


In ManyToMany关系字段没有delete我们需要使用的功能remove一个实例,或者为了清除我们需要使用的字段值clear link https://docs.djangoproject.com/en/2.1/ref/models/relations/#django.db.models.fields.related.RelatedManager.remove

为你的情况说

our_desire_skill = skills.objects.filter(skill=search_skill)
desiner_user = Designer.objects.get(user=our_desire_user)
desiner_user.skills.remove(our_desire_skill)

如果你想改变ManyToManyFields从管理页面需要确保该字段类似于raw_id_fields link https://docs.djangoproject.com/en/2.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.raw_id_fields然后您就可以更新您的ManyToManyField从管理站点存储值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从管理页面删除 Django 中的 ManyToManyField 并单击按钮 的相关文章

随机推荐

  • 无法访问 VBA 中的 COM 公开方法

    我正在尝试在 VBA 中访问 COM 公开的方法 Problem 我看到所有默认方法 例如GetHashCode GetType and ToString 在 VBA 中但是not那些是 COM 接口的一部分并且专门编写为 COM 可见的
  • 为什么“Get-ChildItem -File | Get-FileHash”有效?

    我对 Bash 比对 Powershell 更熟悉 有时我对后者的对象模型感到困惑 看着Get FileHash 的文档 https learn microsoft com en us powershell module microsoft
  • 获取VirtualStore中存储的日志文件的真实路径

    我的应用程序将日志文件存储在一个位置 根据管理设置 该位置可以重定向到 VirtualStore 中的文件夹 例如 它们有时最终会出现 日志文件位于 C Users my username AppData Local VirtualStor
  • 我能否确保在 5.10+ 上编写的 Perl 代码可以在 5.8 上运行?

    Perl 5 10 和 5 12 的一些新功能 例如 say 被定义为功能 您可以使用 feature 编译指示显式启用或禁止这些功能 但其他添加 例如正则表达式的命名捕获组 是隐式的 当我使用 5 10 解释器编写 Perl 但希望它也能
  • 将按钮控件嵌入到现有 Direct3D 应用程序中

    我想将自己的内容覆盖在 Direct3D v9 游戏 由第三方制作 之上 叠加互动按钮 具体来说 我想覆盖一个可点击的按钮控件 就像 Steam 所做的那样 尽管我正在尝试一个更简单的界面 理想情况下 我能够覆盖 WPF 按钮或 Windo
  • Twitter-Typeahead 不提供建议

    我正在尝试使用twitter typeahead rails 我的目的是当我在 Typeahead 输入框中键入内容时 通过下拉框建议模型 User 的实例 但是 当我打字时什么也没有发生 有人看到我的代码有什么问题吗 Gemfile ge
  • mysql:拒绝行更新

    我有一个包含 3 个字段的表 其中一个是 状态 status 是一个 ENUM 可能包含 a b 或 c 内容 我需要找到一种方法来拒绝对 status b 的所有行进行任何更新 甚至不允许根用户更新这些行 所以这就像让这一行成为 最终 如
  • AngularJS ng-重复重新渲染

    我正在使用 AngularJS 构建一个简单的应用程序 应用程序向服务器发出异步 AJAX 调用 服务器返回一个如下所示的数组 paragraphs content content one content cnt two content r
  • 如何在 div 中加载页面?

    我被告知使用 Div 代替 iframe 是前进的方向 所以我使用横幅和主体中的框架 如何将我的index html加载到我的div中 你尝试过 jquery 的 load 吗 通过服务器端技术 您可以轻松地做到这一点
  • 添加/删除类到父 DOM 元素 React js

    我想在单击添加 删除按钮时从父 DOM 元素添加 删除类 就像我单击添加类按钮一样 然后它将新的类名 clicked 添加到父 div 中 并在单击删除类按钮时删除该类 索引 html div class main div div clas
  • 当属性名称本身是动态变量时如何获取bean属性的值

    我正在尝试编写一个自定义 JSPX 标记 该标记从给定列表中的每个对象读取给定 bean 属性的值 并将该属性的名称作为 JSP 属性传递给该标记 该标签看起来像这样
  • 冻结(.exe)一个traitsUI程序,现实可行吗?

    我正在尝试使用 cx freeze 或 pyInstaller 冻结一个 TraitsUI 程序 该程序利用 Chaco Traits TraitsUI 以及较小程度的 mayavi 实际上可以取出 我需要它在 mac linux ubun
  • 如何隐藏组件而不卸载它?

    我有一个列表组件 我希望在不需要时将其保留在 DOM 中 以便滚动位置不会丢失 我尝试将样式设置为 display none 但这会卸载该组件 我也尝试过设置 flex 0 0001 哪种有效 但感觉像是一种黑客攻击 他们稍后可能会优化为
  • 无法写入文本文件

    我正在运行一些测试并需要写入文件 当我运行测试时open file r 不写入文件 测试脚本如下 class GetDetailsIP TestGet def runTest self self category PTZ try This
  • C++ 中跨多个文件的类

    我几乎 100 确定我在这两个类中的语法都是正确的 但是我收到以下错误 对于 CShape cpp 错误 C2011 CShape class 类型重新定义 对于 CCircle cpp 错误 CS2504 CShape 基类未定义 这是
  • 在 CSS 中设置 TableView 样式 (JavaFX)

    如何在 TableView 中设置 THIS 点的样式 我的 CSS 代码如下所示 Empty Stylesheet file root fx background color 262626 table view fx background
  • MSTest:如何增加测试时间

    我有一个测试需要运行超过 1 分钟 VS2008 MSTest 测试是从 VisualStudio 启动的 const int TestTimeout 1 TestMethod Timeout 10 60 1000 10 minutes p
  • 在 htaccess 中设置内存限制 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在使用 WordPress 我需要增加内存 因此我将以下行添加到我的 htaccess 文件中 BEGIN WordPress
  • 使用 gcc 的中间 GIMPLE 格式

    根据本文 http en wikipedia org wiki Intermediate languagegcc 在生成代码之前使用多种中间格式 我读到 GIMPLE 格式使用三个地址代码 这似乎是最容易使用的中间语言 但我需要更多细节 因
  • 从管理页面删除 Django 中的 ManyToManyField 并单击按钮

    我有两个模型如下 模型 py from django db import models from django contrib auth models import User class Skill models Model skill m