如何使用 on_delete 属性在用户模型的外键字段中设置用户全名?

2023-12-28

我在 django 中有一个模型,它具有带有用户模型的外键。

class News(models.Model):
    user = models.ForeignKey(AUTH_USER_MODEL, on_delete=models.SET(???))
    message - models.TextField()

因此,当任何用户帐户从数据库中删除时,新闻表中的条目也会根据用户删除。所以我希望当删除任何用户帐户时,我需要使用在用户字段中设置他/她的全名'on_delete=models.SET(???)'

Example:

如果我有这样的用户:first_name = 'Neeraj' 且 last_name='Kumar' 当我想删除该用户帐户时,我想在新闻表中保存他的名字。


user领域在News模型映射到User模型实例。

您不能将字符串分配给该字段。您只能分配 null aUser模型实例。

您必须提供替代用户来代替已删除的用户。因此,要么保留一个用户进行替换,要么在删除时创建一个用户。中解释得很清楚docs https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.SET.

您可以做的一件事就是添加一个新的name场到News模型并在创建时填充它News实例。

class News(models.Mode):
    user = models.ForeignKey(AUTH_USER_MODEL, on_delete=models.SET_NULL)
    name = models.CharField()

    def save(self, *args, **kwargs):
        if not self.id:
            self.name = self.user.first_name + self.user.last_name
        super(News, self).save(*args, **kwargs)

现在,当User被删除,user字段设置为 NULL 并且name字段包含所需的名称信息。

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

如何使用 on_delete 属性在用户模型的外键字段中设置用户全名? 的相关文章

  • 在 cherokee 和 uwsgi 上部署 Flask [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在尝试部署一个使用 cherokee 和 uwsgi 开发的 Flask Web 应用程序 我安装了 cherokee 和 uwsgi 并正在工作
  • Python groupby 无法按预期工作[重复]

    这个问题在这里已经有答案了 我正在尝试读取一个 Excel 电子表格 其中包含以下格式的一些列 column1 column1 AccountName column1 SomeOtherFeature column2 blabla colu
  • 给定一个正整数 n,如何打印高度为 n-1 的数字三角形?

    HackerRank 三角任务 https www hackerrank com challenges python quest 1 problem 仅使用算术运算 单个for loop 和一个单一的print陈述 不允许进行字符串操作 约
  • 在 Matplotlib 中选择标记大小

    我正在 matplotlib 中用方形标记绘制散点图 如下所示 我想实现这样的目标 这意味着我必须调整标记大小和图形大小 比例 以使标记之间没有空白 每个索引单元还应该有一个标记 x and y都是整数 所以如果y从 60 到 100 应该
  • Python 中的参数命名约定

    对于形式参数密切相关的函数 例如 def add two numbers n1 n2 return n1 n2 def multiply two numbers n1 n2 return n1 n2 如上所示 为两个函数中的参数指定相同的名
  • Python 删除额外的特殊 unicode 字符

    我正在 python 中处理一些文本 它内部已经采用 unicode 格式 但我想删除一些特殊字符并用更标准的版本替换它们 我目前有一条看起来像这样的线路 但它变得越来越复杂 我发现它最终会带来更多麻烦 tmp infile lower r
  • Python NameError,变量“未定义”

    它返回的错误是 NameError name lives is not defined 我知道代码并不是尽可能高效 这是我的第一个项目 但是无论我尝试做什么 都会弹出这个错误 我尝试为其创建一个全局变量 但这没有帮助 我真的很感激一些帮助
  • 如何定期向数组添加新元素,使其出现在每 500 个元素之后?

    如果我有一个包含 500k 个元素 仅限数字 的数组 列 我如何能够在每 500 个元素之后添加一个新元素 新的数字应该是相邻元素的平均值 例如 在元素 499 和 500 之间有一个值为 499 的值 500 的值 2 的新元素 依此类推
  • 在包含缺失值的 Pandas 数据框列上使用 apply 和 lambda 函数

    这是这个问题的后续 如何根据 pandas 数据框中其他列中的子字符串创建新列 https stackoverflow com questions 70086559 how to create new column based on sub
  • Django Rest Framework 完整性错误捕获

    在 Django Rest Framework 中 我使用了序列化器 视图集和路由器方法 每当我在 django Rest 框架的 API 视图中发布故意错误时 它都会抛出完整性错误 有没有办法尝试捕获错误 例如如果数据中没有错误 则继续保
  • 如何通过检查传递给 pytest_runtest_teardown 的 Item 对象来确定测试是否通过或失败?

    Pytest 允许您通过实现一个名为的函数来进入每个测试的拆卸阶段pytest runtest teardown在插件中 def pytest runtest teardown item nextitem pass 是否有一个属性或方法it
  • 在Python中将字符串转换为变量? [复制]

    这个问题在这里已经有答案了 我对 python 和编程都很陌生 并且已经尝试弄清楚如何做到这一点有一段时间了 这是我需要帮助的内容 y 0 x 2 p01 hello p02 bye print p str y str x 输出当然是 p0
  • Django - 以表单形式访问 request.session

    我按如下方式调用表单 然后将其传递给模板 f UserProfileConfig request 我需要能够访问表单中的 request session 所以首先我尝试了这个 class UserProfileConfig forms Fo
  • Python Flask 不更新图像[重复]

    这个问题在这里已经有答案了 这里有一些关于图像的 Flask 问题 但没有一个能解决我的问题 我有一个应用程序可以创建图像 保存它 然后显示它 一次 它应该多次执行此操作 每次更改图像时 它应该加载新图像 它不是 它只显示与其显示的文件名关
  • python散景中的反转轴

    我正在尝试反转 y 轴并在散景散点图中设置 x 和 y 的范围 我在用 BokehPlot bokeh scatter data df x range min utc max utc y range min val max val 我收到错
  • AttributeError:模块“matplotlib”没有属性“font_manager”

    我安装了 matplotlib 但 python 3 8 10 显示了这个错误 AttributeError module matplotlib has no attribute font manager What i am doing w
  • 在 jupyter 笔记本中运行 pytest 测试函数

    我正在制作有关 python 测试选项的演示 我想要演示的技术之一是 pytest 我计划使用 jupyter ipython 笔记本进行演示 理想情况下 我希望能够在单元格中定义一个测试函数 然后使用 pytest 运行该函数 这样我就可
  • 检查数组中是否有 3 个连续值高于某个阈值

    假设我有一个像这样的 np array a 1 3 4 5 60 43 53 4 46 54 56 78 有没有一种快速方法来获取 3 个连续数字都高于某个阈值的所有位置的索引 也就是说 对于某个阈值th 得到所有x其中 a x gt th
  • Python - 使用 BeautifulSoup 从 URL 列表中抓取文本的最简单方法

    使用 BeautifulSoup 从几个网页 使用 URL 列表 中抓取文本的最简单方法是什么 有可能吗 最好的 乔治娜 import urllib2 import BeautifulSoup import re Newlines re c
  • Django 无法覆盖表单字段小部件

    我需要在表单中生成基于列的复选框 myapp templates forms widgets custom html div class row for group options index in widget optgroups for

随机推荐

  • 未捕获的类型错误:无法读取未定义的属性“localStorage”

    我在backbonejs应用程序中有以下内容 MODEL var app app ledger Backbone Model extend COLLECTION app ledgerList Backbone Collection exte
  • 控件库的 WPF 样式

    我有一个图书馆 Styles DLL 其中包含带键的 WPF 集合Styles 我有一个班级图书馆 Module DLL 其中包含多个Windows and UserControls可以在各种应用程序之间共享 我用的是带键的Styles定义
  • Gensim:KeyError:“单词不在词汇表中”

    我有一个使用 Python 的 Gensim 库训练过的 Word2vec 模型 我有一个标记化列表 如下所示 词汇量为 34 但我只给出 34 中的几个 b let know buy someth featur mashabl might
  • 将不同长度的列表列表转换为numpy数组[重复]

    这个问题在这里已经有答案了 我有不同长度的列表列表 例如 1 2 3 4 5 6 7 8 9 并想将其转换为numpy整数数组 我理解 子 数组numpy多维数组的长度必须相同 那么 将上面示例中的列表转换为列表的最有效方法是什么 nump
  • 什么在实体中调用 setter?

    在实体框架中 您必须创建一个派生自的类DbContext具有 IDbSet 属性 实体框架中什么调用 setter 以及它是如何工作的 当您的自定义上下文类被实例化时 基类DbContext构造函数调用一个名为的私有方法Initialize
  • 为什么java hashCode()中经常使用XOR,而其他按位运算符却很少使用?

    我经常看到这样的代码 int hashCode return a b Why XOR 在所有位操作中 XOR 具有最好的位混洗属性 这个真值表解释了原因 A B AND 0 0 0 0 1 0 1 0 0 1 1 1 A B OR 0 0
  • Jackson - 结合 @JsonValue 和 @JsonSerialize

    我正在尝试组合 JsonValue and JsonSerialize 让我们从我当前的容器类开始 public class Container private final Map
  • javafx 移植应用程序性能不佳

    我刚刚使用 gradlew 将一个名为 PuzzlePieces 的示例 netbeans javafx 项目移植到 android 中 该应用程序的性能如此糟糕 是什么原因造成的 我的设备 LG E975 4 4 kitkat This
  • 无法转换类型的对象

    在我的 wpf 应用程序中尝试将字符串从一个窗口发送到另一个窗口时出现错误 无法将 WpfApplication4 LoginWindow 类型的对象强制转换为 WpfApplication4 MainWindow 类型 在我的登录窗口中
  • 如何在 jersey 2.0 中使用 hk2 注入常量?

    如何在球衣中使用 HK2 将常量注入某个类 有了Guice 我可以上一些像这样的课程 public class DependsOnFoo Inject public DependsOnFoo Named FOO String foo 我会在
  • python 中基于 websocket 的 MQTT

    python 是否支持通过端口 8080 订阅 mqtt 代理 import sys import paho mqtt client as mqtt def on connect mqttc obj flags rc print rc st
  • 访问图中重复访问次数最少的所有节点

    我有一个基于图块的地图 其中几个图块是墙壁 其他图块是可步行的 可步行的瓷砖构成了我想在路径规划中使用的图表 我的问题是他们有什么好的算法可以找到访问图中每个节点的路径 从而最大限度地减少重复访问吗 例如 地图示例http img220 i
  • app:srcCompat 不适用于 ImageView

    我正在向库项目添加矢量可绘制支持 并使用app srcCompat引用可绘制的矢量 唯一有效的视图是 ImageButton 我不知道为什么 这是我的 build gradle 的相关部分 android defaultConfig vec
  • 从另一台具有不同 Gradle 版本的 PC 导入 Android Studio 项目?

    我有一个用 Android Studio 版本 1 3 2 编写的 Android studio 项目 现在 在另一台装有 Android Studio 2 1 2 的 PC 上 我想导入或打开该项目 但是当我尝试打开时 我的 Gradle
  • 发送 XMLHttpRequest 时缓存结果出现问题?

    我对 AJAX 和缓存的想法很陌生 On the AJAX 向服务器发送请求 http www w3schools com ajax ajax xmlhttprequest send asp来自 W3Schools 它说你应该添加 t Ma
  • 为什么不允许 movl 从内存到内存?

    我想知道集会中是否允许这样做 movl edx eax 我猜它会访问第一个操作数中的内存并放入 第二个操作数的内存 例如 a b 但我还没有看到任何处理此类问题的示例 所以我猜这是不允许的 另外 我被告知这是不允许的 leal esi ed
  • 什么是 Git 修剪?

    我不小心修剪了一些远程分支 我真的不知道这样做的后果是什么 我单击了 Git 扩展中的 修剪远程分支 按钮 认为它会删除远程分支 官方文档说 git prune 从对象数据库中删除所有无法访问的对象 我实在不明白这是什么意思 我猜这可能会删
  • 需要帮助使用 Perl 修复此正则表达式代码吗?

    我需要您的专业帮助来使用 perl 修复此正则表达式代码 我有这个数据文件 Data SCSI test A ccccccccccccccccc aaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbb Data SCSI t
  • 如何在 python 代码中利用 locals() ?

    我在阅读时偶然发现了以下警告像 Pythonista 一样编码 惯用的 Python http python net goodger projects pycon 2007 idiomatic handout html作者 大卫 古杰 文章
  • 如何使用 on_delete 属性在用户模型的外键字段中设置用户全名?

    我在 django 中有一个模型 它具有带有用户模型的外键 class News models Model user models ForeignKey AUTH USER MODEL on delete models SET messag