如何在 django 模型字段上存储多个值

2024-04-24

我有一个模型,将重复的训练存储在我的健身房中。

DAYS_OF_WEEK = (
    (0, _("Monday")),
    (1, _("Tuesday")),
    (2, _("Wednesday")),
    (3, _("Thursday")),
    (4, _("Friday")),
    (5, _("Saturday")),
    (6, _("Sunday")),
)
class RecurringSession(models.Model):
    session = models.ForeignKey(SessionType,  db_index=True, on_delete=models.CASCADE)
    dayofweek = models.PositiveSmallIntegerField(choices=DAYS_OF_WEEK)
    time = models.TimeField()

然而,有些课程每周不止一次。在该模型字段上存储多个值(1 到 7 之间)的最佳方法是什么? 我正在使用 Django Mysql 8.0,据我了解它支持 JSON 字段,但从 django 文档来看,到目前为止似乎只有 Postgres 支持。 有特定的 django 方法来做到这一点吗?也许存储一个带有逗号分隔值的 charfield ? 我不需要按该字段进行搜索。

每周都会有一个 cronjob 读取此模型并在另一个模型上创建每个会话的实例。 (我需要每个会话作为定制实例:教师替换、会话名册、会话状态 - 我可能会在银行假日或其他原因取消单个会话)。 所以这个“RecurringSessions”将是我存储每周生成的会话信息的地方。 我最初写的方式是,同一会话的一周中的每一天都会有一个模型实例,但我想将它们分组在同一个实例中,因为我认为它看起来更好,并且可能更容易将老师设置为大部分。 或者,我可以为每个会话存储一个带有多个日期/时间值的字典的 json,但这会使确保 cronjob 运行两次时类不会重复变得更加困难。

现在,为了避免这种情况,我的日程模型中有一个 UniqueConstraint,其中包含“天”、“时间”和“房间”字段

使用 Django 3.0.6、Python 3.8.2 和 MySQL 8.0.20。

thanks


您正在尝试建立多对一关系,因此您必须使用此方法docs.djangoproject.com/en/3.0/topics/db/examples/many_to_one https://docs.djangoproject.com/en/3.0/topics/db/examples/many_to_one/,或者如果你想避免创建数据库表并利用 Django 的选择字段,你可以使用这个扩大 https://github.com/goinnn/django-multiselectfield.

由于一周有七个固定的日子,我更喜欢第二种方法,而不是创建数据库表和不必要的数据库查询。

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

如何在 django 模型字段上存储多个值 的相关文章

  • django 2.0 中的错误 404 静态文件

    我试图在 django 2 0 中找到我的所有静态文件 但是当我只运行服务器时 我收到 404 错误 这是我的设置代码 STATIC URL static STATIC ROOT var www example com static STA
  • 在 Django 查询中与父级一起获取子级数据

    我有两个模型产品和产品包 产品包有一个产品型号的外键 我如何访问包含产品包的所有产品的列表 class Product models Model title models CharField verbose name Product Tit
  • 如何将自定义迁移添加到外部 Django 应用程序

    我已经在我的自定义 Django 1 10 应用程序中对一些第三方应用程序进行了一些猴子修补 现在 当我尝试创建初始迁移时 它还会为这些外部应用程序生成迁移 但它将这些迁移放在我的 virtualenv 的站点中 packages 目录 无
  • Django 的登录代码

    谁能给我一些带有模板代码的示例代码来创建 Django 登录 Thanks 包含示例登录模板在文档中 https docs djangoproject com en stable topics auth default module dja
  • 嵌套重组 - Django

    我有一个包含以下字段的模型 日期 员工 和 计划时间 每个员工对于不同的日期都有不同的计划工作时间 我正在尝试构建我的模板 其中员工按行列出 他们的计划工作时间列在正确的相应日期下的列中 像这样的东西 https i stack imgur
  • Django ConnectionAbortedError:[WinError 10053]已建立的连接被主机中的软件中止

    我将 django 与 postgresql 一起使用 每当我尝试保存或删除任何内容时 都会发生此错误 Traceback most recent call last File c program files x86 python35 32
  • Django ModelForm 验证失败,没有错误

    好吧 我已经盯着这几个小时试图弄清楚发生了什么 但无济于事 我正在尝试使用 instance 关键字创建一个 ModelForm 将其传递给一个现有的模型实例 然后保存它 这是 ModelForm 在我试图找出此问题的原因时 从原始版本中删
  • python 2.7+ 中的组引用无效

    我正在尝试将我的网页 在 django 中创建 中的所有 WikiLink 类型的字符串转换为 html 链接 我正在使用以下表达式 import re expr r s A Z a z A Z a z s repl r a href 1
  • 使用 Django Admin 上传文件

    我希望能够使用 Django 管理界面上传 PDF 文件 并将这些文件反映在我网站的页面中 这是可能吗 如果是这样 我该怎么做 否则 管理员用户私下上传稍后将在网站中显示的文件的解决方法是什么 我从 Django 文档中得到的信息文件上传
  • 如何在Python中创建二维码而不将其另存为图像?

    我正在尝试使用以下代码在 Django 应用程序上使用 Python 制作二维码 def generate qr code reference qr qrcode QRCode version 1 error correction qrco
  • 如何隐藏 django-admin 中的某些字段?

    class Book models Model title models CharField null True type models CharField author models CharField 我在 models py 中有一个
  • 如何在 Django 管理中以表格格式显示添加模型?

    我刚刚开始使用 Django 编写我的第一个应用程序 为我的家庭设计的家务图表管理器 在本教程中 它向您展示了如何添加相关对象 http docs djangoproject com en dev intro tutorial02 cust
  • 使用信号时出现 django TransactionManagementError

    我有一个与 django 的用户和 UserInfo 一对一的字段 我想订阅用户模型上的 post save 回调函数 以便我也可以保存 UserInfo receiver post save sender User def saveUse
  • 不想每次更新 css/js 时都清除浏览器缓存

    我有 python django 网站 其中包含 css 和 js 文件 每次更新 添加 css 或 js 都必须清除浏览器的缓存 然后才能反映在浏览器中 有什么具体方法可以避免每次缓存清除和检查吗 django 中是否有任何特定设置可以避
  • django_debug_toolbar 和 Docker

    因此 我让 docker 和 Django 在本地工作 首先从 Dockerfile 构建一个映像 然后使用 Fig 获取 postgres 映像 将其链接到基础映像 然后运行本地服务器 除了 django debug toolbar 之外
  • 防止 Celery Beat 运行相同的任务

    我有一个计划的 celery 每 30 秒运行一次任务 我有一个每天作为任务运行 另一个每周在用户指定的时间和一周中的某一天运行 它检查 开始时间 和 下一个预定日期 在任务完成之前 下一个计划日期不会更新 但是 我想知道如何确保 cele
  • 将 django Charfield "\t" 转换为制表符

    我有一个带有 Charfield 的 django 模型 其中包含 unicode 转义字符串 t 将其转换为真正的选项卡的最简单方法是什么 如str t 找到了答案 t decode string escape 如上所述here http
  • Django 教程:完成第一页后出现无法解释的 404 错误

    我完成了https docs djangoproject com en 1 9 intro tutorial01 https docs djangoproject com en 1 9 intro tutorial01 预期的行为有效 我的
  • django.db.utils.IntegrityError:NOT NULL 约束失败

    我正在尝试为我的网站构建自定义注册 因此我使用配置文件模型进行注册 追溯 Traceback most recent call last File C Python36 lib site packages django core handl
  • Django Channels/Daphne 内部服务器错误“‘dict’对象不可调用”

    我在连接到我的网站时收到此错误 因为它正在运行频道 2018 03 25 20 59 19 049 ERROR http protocol Traceback most recent call last File home virtuale

随机推荐

  • 如何在远程计算机上调试 war 文件?

    如果我有一个 jboss 服务器在另一台机器上运行 并且我将我的 war 文件 scp 到该机器 我该如何调试 war 我会使用什么命令 如何在我的终端中执行此操作 在远程计算机上使用调试参数运行 jboss Xdebug Xrunjdwp
  • 将 Excel 行输出到一系列文本文件

    在 Excel 中 我在 A 列中有一个文章名称列表 在 B 列中有一个免责声明 现在 对于 A 列中的每篇文章 我想创建一个文本文件 A 是文件的标题 B 是文件的标题 免责声明是文件的内容 这可能吗 我的想法是 我有数百个这样的东西 我
  • 如何 .gitignore 文件夹中的所有文件/文件夹,但不忽略文件夹本身? [复制]

    这个问题在这里已经有答案了 我想将一个空白文件夹签入我的 Git 存储库 实际上 我需要忽略文件夹中的所有文件和文件夹 但不是文件夹本身 我怎样才能做到这一点 我应该在我的 gitignore file 对于那些想知道为什么我要这样做的人
  • 使用这种语法的原因是什么 (0, _.Em)();

    在研究 google plusone 脚本时 我多次看到以下语法 0 Em 假设 Em是一个函数 上面的语句将导致调用该函数 这是非常明显的 另一方面 如果它是未定义的 结果岂不是与简单地执行相同 Em 任何人都可以阐明使用这种语法背后的想
  • 2018 年模块内测试/模拟功能的最新技术是什么?

    我有一个用于学习测试的模块 如下所示 api js import axios from axios const BASE URL https jsonplaceholder typicode com const URI USERS user
  • Google 地图 iOS SDK 和故事板

    我希望有人能解释如何开始使用 Google 地图和 Xcode 故事板 我找不到任何有关如何实际操作的信息 我只需要一个例子或采取的步骤 有这个http www youtube com watch v r3H8dFG0UCY http ww
  • PyCrypto 可以检查文件是否已经 AES 加密?

    from Crypto Cipher import AES def encrypt file key in filename out filename None chunksize 64 1024 Encrypts a file using
  • Fusion Tables 层 URL 请求限制(2048 个字符)

    我正在使用 Google 地图突出显示一些国家 并使用 Fusion Tables 来获取几何图形 您可以在此处查看一个示例 http jsfiddle net 4mtyu 689 http jsfiddle net 4mtyu 689 v
  • 使用 netcat 提供包含图像的 HTTP 响应

    我正在尝试使用 netcat 编写一个小型 HTTP 服务器 对于纯文本文件 这工作正常 但当我尝试发送图片时 浏览器仅显示损坏图像的图标 我所做的就是提取所请求文件的 mime 类型和大小 并将其发送给客户端 我的示例图片的请求标头如下所
  • 从回调中递归调用函数会导致堆栈溢出吗?

    我想在事件触发后调用一个函数 然后在同一个回调中再次调用该函数 这是为了在函数完成时创建一种事件侦听器 当你看到代码时你就会知道我想做什么 use strict var page require webpage create var sys
  • 我可以将多个线程分配给 OpenMP 中的代码段吗?

    我正在寻找一种方法来并行执行代码部分 每个部分使用多个线程 例如 如果我有 16 个线程和两个任务 我希望每个线程有 8 个线程同时执行这两个任务 OpenMP 有多种构造 section task 并行执行一般代码 但它们是单线程的 在我
  • mypy 在参数化泛型中 isinstance 和 issubclass 从 python 3.5 到 3.6 的差异

    在我从 python 3 5 升级到 python 3 6 之前 这是有效的 import typing issubclass list typing List int returns True isinstance 1 2 3 typin
  • 将未转义文本从字段添加到 postgres 中的正则表达式的正确方法?

    将字段中的文字文本值添加到 postgres 中的正则表达式的正确方法是什么 例如 如果不进行转义 some field 可能包含无效的正则表达式语法 where some text m some field M 最简单的方法是使用正则表达
  • 找不到模块:错误:无法使用 TypeScript 定义文件解析“openlayers”

    在使用 TypeScript 的 Visual Studio 2017 React 应用程序中 有一个使用 OpenLayers v4 6 5 的组件 Map tsx package json 文件加载 types openlayers 和
  • Perl 代码的多线程

    我需要知道如何为以下代码实现多线程 我需要每秒调用此脚本 但睡眠计时器会在 2 秒后处理它 总共脚本每 3 秒调用一次 但我需要每秒调用它 任何人都可以为我提供解决方案或为我指出正确的方向 usr bin perl use warnings
  • ProgressDialog 未在 UIThread 中显示

    我正在使用 google api lib 创建地图 因为地图小部件需要很长时间才能加载 所以我尝试添加加载通知 但没有显示 不过 我可以在常规线程中显示进度对话框 为什么这个对话框没有显示 public void onCreate Bund
  • 是否可以扩展 woocommerce 产品休息端点?

    有没有办法扩展 woocommerce Rest api 中的产品对象 wp json wc v3 products 以非破坏性的方式 因此使用该端点的插件不会中断 我目前尝试创建自己的休息端点来复制该对象 但现在缺少大量数据 我也尝试过类
  • 如何使用 Amazon API 轻松恢复购买?

    我正在尝试像 iOS 一样恢复购买 但我不知道如何使用 Amazon API 轻松恢复 IAP 权利购买 如果我向PurchasingManager 它返回一个PurchaseResponse 但是那个PurchaseResponse如果已
  • ar.js 中的事件监听器

    我正在开发一个涉及 ar js 的项目 该项目显示 3D 对象和文本 以在移动设备和笔记本电脑上教孩子们字母表 我试图添加一个事件侦听器作为额外的内容 以使孩子们进行更多互动 我的目标是单击 触摸显示的模型 它将放大或改变颜色或旋转 附件中
  • 如何在 django 模型字段上存储多个值

    我有一个模型 将重复的训练存储在我的健身房中 DAYS OF WEEK 0 Monday 1 Tuesday 2 Wednesday 3 Thursday 4 Friday 5 Saturday 6 Sunday class Recurri