Django 与附加字段的多对多关系

2024-01-02

我想在自动创建的 ManyToMany 连接表中存储一些附加信息。我将如何在 Django 中做到这一点?

就我而言,我有两个表:“员工”和“项目”。我想要存储的是每个项目中每个员工每小时的工作收入是多少,因为这些值并不相同。那么,我该怎么做呢?

我想到的是,而不是方法“ManyToManyField”,显式创建第三个类/表来存储这些新信息并使用“ForeignKey”方法设置其与“Employees”和“Projects”的关系。我很确定它会起作用,但这是最好的方法吗?


以下是您想要实现的目标的示例:

http://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many-relationships http://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many-relationships

万一链接中断:

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=128)

    def __str__(self):              # __unicode__ on Python 2
        return self.name

class Group(models.Model):
    name = models.CharField(max_length=128)
    members = models.ManyToManyField(Person, through='Membership')

    def __str__(self):              # __unicode__ on Python 2
        return self.name

class Membership(models.Model):
    person = models.ForeignKey(Person)
    group = models.ForeignKey(Group)
    date_joined = models.DateField()
    invite_reason = models.CharField(max_length=64)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 与附加字段的多对多关系 的相关文章

  • 自定义用户返回空 get_all_permissions()

    我只是想开始工作Permissions了解这是如何工作的 在外壳中我有空set 结果来自user test get all permissions I see 这个问题 https stackoverflow com questions 2
  • Access 2007 数据库和应用程序的版本控制

    我需要对 Microsoft Access 2007 数据库和应用程序进行版本控制 目前 所有内容都包含在单个 mdb 文件中 该应用程序包括 Forms VBA code 实际数据库 我假设我需要将数据库与表单 代码分开 我希望能够将表单
  • 如何禁止用户使用我的 Django 应用程序(有一些变化)

    我有一个基于 Web 的 Django 应用程序 用户可以在其中以假名聚集并互相聊天 大多数访问该网站的用户都是通过迷你歌剧院 与简单的网络浏览器不同 Opera Mini 有一个twist它通过它获取所有内容代理服务器 https en
  • Java - 如何批量插入和更新数据库

    我想在一个PreparedStatement 中批量处理多种类型的数据库调用 这可能吗 有没有办法做类似的事情 PreparedStatement pstmt connection prepareStatement 哪里的 可以是INSER
  • django软删除不级联删除

    我在 django 管理中使用软删除 就像this http codespatter com 2009 07 01 django model manager soft delete how to customize admin 问题是 当我
  • FIREBASE 数据库 - 存储子节点的唯一密钥(Swift/IOS)

    我正在尝试存储生成的独特的钥匙当 childByAutoId 被调用时 理论上 它将有助于映射稍后需要在我的应用程序中发生的指定子项的更新或更改 我对 Firebase 的分层数据库相当陌生 如果下面描述的方法不正确 请随时提供替代方案 我
  • 该模型已具有同名的元素 - ASP.NET

    我正在使用 ASP Net Web 应用程序 每当我尝试添加FOREIGN KEY此错误出现在数据工具操作中 SQL71508 该模型已具有同名的元素 dbo FK Sellers Users SQL71508 该模型已经有一个元素 具有相
  • 缩短 Python 导入?

    我正在开发一个 Django 项目 我们就这样称呼它吧myproject 现在我的代码到处都是myproject folder file function 无论如何 我是否可以消除为所有导入添加前缀的需要myproject 如果我想稍后重命
  • 在 SQLAlchemy 中选择 NULL 值

    这是我的 PostgreSQL 表 test gt create table people name varchar primary key marriage status varchar test gt insert into peopl
  • 播种方法是插入具有 NULL 值的附加实体

    我突然出现这种奇怪的行为 我在版本控制 tfs 中比较了我的文件 以确保我没有更改任何内容 也没有发现任何不同 我正在用一些元数据播种我的数据库 我发现它有一个我以前从未见过的非常奇怪的行为 我正在插入一个实体 产品 它会插入该实体2 ti
  • 如何将默认字段值设置为 Django 模型中其他字段的值?

    如果我在 django 中有以下模型 class MyModel models Model name models CharField max length 50 fullname models CharField max length 1
  • 数组 (UUID[ ]) 会破坏 1NF 吗?

    我的问题是包含 UUID 数组的字段是否会破坏范式 http en wikipedia org wiki Database normalization 在包含数组之前位于 NF 中的表中 原表 CREATE TABLE Floor Floo
  • 姜戈。此函数的关键字参数无效。多对多

    我有这个错误 people 是该函数的无效关键字参数 class Passage models Model name models CharField max length 255 who models ForeignKey UserPro
  • 如何删除 Django 中 FileInput 小部件的“当前:”标签和链接?

    我从 Django 中的模型创建了一个 ModelForm 该模型上有一个 ImageField 字段 当我在模板中呈现表单信息以进行编辑时 它会显示以下内容 如何删除 当前 标签和链接 Django 管理员使用AdminFileWidge
  • “窗口未定义”服务工作者

    我正在尝试为我的 django 项目注册一个服务人员 这是我用于注册的代码
  • 哪些 ORM 与 Scala 配合得很好? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 DataGrip JetBrains 中创建新数据库

    任何人都知道如何创建新数据库DataGrip https goo gl 99xqGb JetBrains 的数据库 IDE 找不到DataGrip 帮助页面 https goo gl pnFpGS In 数据夹2017 1 https bl
  • 什么时候数据库被称为嵌入式数据库?

    术语 嵌入式数据库 与 数据库 具有不同的含义吗 我见过的嵌入式数据库有两种定义 嵌入式数据库就像专门为 嵌入式 空间 移动设备等 设计的数据库系统一样 这意味着它们在紧张的环境中 内存 CPU 方面 可以合理地执行 嵌入式数据库就像不需要
  • “unicode”对象没有属性“_meta”

    我正在尝试创建一个视图 用户在其中从下拉菜单中选择一个选项 提交它 然后返回一些数据 具体来说 他们将从数据库中的模型中进行选择 并返回该类的所有实例 我使用 django tables2 输出数据 以便可以排序 但这是我的症结所在 Vie
  • Django MySQL 创建表时出错

    我有一个类似的问题这张票 https code djangoproject com ticket 18256在 Django 论坛上提出 我该如何解决这个问题 我还扩展了一个用户模型 如下所示 class Profile models Mo

随机推荐