django中的复合主键

2023-11-29

我有一个具有复合主键的旧数据库表。我认为我无法更改结构以包含代理键,因为编写了一些使用该表的代码。在 django 中,我无法使用该表,因为它没有主键(非复合)。

django 模型支持复合主键吗?如果没有,是否有在不改变表结构的情况下的解决方法?

附:我正在使用 postgresql。


尝试下面类似的代码:

class MyTable(models.Model):
    class Meta:
        unique_together = (('key1', 'key2'),)

    key1 = models.IntegerField(primary_key=True)
    key2 = models.IntegerField()

或者如果您只想要唯一的混合字段:

class MyTable(models.Model):
    class Meta:
        unique_together = (('key1', 'key2'),)

    key1 = models.IntegerField()
    key2 = models.IntegerField()

编辑:我想指出,如果有 3 列,这种方法就会出现问题。更新查询不起作用,因为它尝试更新(将 pk 字段放在“SET”之后)唯一的字段,并且显然失败了。

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

django中的复合主键 的相关文章

  • 使用 JSON 参数的 Postgres 批量 INSERT 函数

    这是一个plpgsqlpostgres 的函数9 6 它试图INSERT一行 如果插入没有失败 由于违反键约束 那么它会运行更多命令 CREATE FUNCTION foo int text text RETURNS void AS BEG
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • Flask 和 uWSGI - 无法加载应用程序 0 (mountpoint='')(找不到可调用或导入错误)

    当我尝试使用 uWSGI 启动 Flask 时 出现以下错误 我是这样开始的 gt cd gt root localhost uwsgi socket 127 0 0 1 6000 file path to folder run py ca
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 从 scikit-learn 导入 make_blobs [重复]

    这个问题在这里已经有答案了 我收到下一个警告 D Programming Python ML venv lib site packages sklearn utils deprecation py 77 DeprecationWarning
  • 在循环中每次迭代开始时将变量重新分配给原始值(在循环之前定义)

    在Python中 你使用 在每次迭代开始时将变量重新分配给原始值 在循环之前定义 时 也就是说 original 1D o o o for i in range 0 3 new original 1D revert back to orig
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以

随机推荐

  • 从 PyQT5 检索 QtTableWidget 单元格的内容

    我有一些数据想要在QtTableWidget 我希望能够选择表的特定行 并根据所选行执行函数 专栏并不重要 这是我正在使用的数据示例 Id Test name Owner Script source 1 Login 1 test login
  • 安装 Azure U-SQL 扩展以在本地运行 R/Python 脚本?

    我们可以在 Azure Data Lake Analytics 中使用 R Python 代码扩展 U SQL 脚本 但如何在本地进行呢 在您的数据湖分析帐户中安装 U SQL 高级分析扩展1 1 启动 Azure 门户1 2 导航到您的数
  • JavaFX(8)警报:不同的按钮尺寸

    考虑一个带有两个按钮的 JavaFX 8 警报对话框 Alert alert new Alert AlertType CONFIRMATION ButtonType bttYes new ButtonType Yes ButtonType
  • AngularJS 中的 404 错误

    你好 我是 AngularJS 的新手 我开始于本教程 在教程中 http get方法正在调用 JSON 文件 就我而言 我总是收到 404 错误 JSON 文件的位置也与 HTML 文件相关 但总是遇到同样的错误 这是我的代码 索引 ht
  • 在同一页面内将变量从 JS 传递到 PHP [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我知道这个问题已经被回答过很多次了 但我正在寻找的是同一页面内变量的传递 我知道PHP是服务器端脚本 而JS是客户端 因此当页面加载时 它将在JS之前加载PHP 因此不可能这样做 我正
  • LINQ to XML:查询正文必须以 select 子句或 group 子句结尾

    有人可以指导我修复此查询的错误 var objApps from item in xDoc Descendants VHost where from x in item Descendants Application select new
  • 不变是什么意思?

    如果字符串是不可变的 这是否意味着 我们假设是 JavaScript var str foo alert str substr 1 oo alert str foo 这是否意味着 当对字符串调用方法时 它将返回修改后的字符串 但不会更改初始
  • TensorFlowdynamic_rnn状态

    我的问题是关于 TensorFlow 方法tf nn dynamic rnn 它返回每个时间步的输出和最终状态 我想知道返回的最终状态是否是最大序列长度下的单元状态 或者是否由sequence length争论 为了更好地理解一个例子 我有
  • MongoDB:使用变量进行文本搜索(精确匹配)

    MongoDB 3 4我有一个变量值 val1 小堡垒 我需要在集合存储中搜索 名称字段上有文本索引 文档为 db stores insert id 1 name Java Hut description Coffee and cakes
  • 如何检查 Receiver 是否在 Android 中注册?

    我需要检查我注册的接收者是否仍然注册 如果没有 我该如何检查它 没有 API 函数来检查接收者是否已注册 解决方法是将您的代码放在try catch block as done below try Register or UnRegiste
  • 如何提供 Google 地图实例的屏幕截图?

    我想实现一个与此类似的地图 http gmaps utility library googlecode com svn trunk markerclusterer 1 0 examples advanced example html 所需的
  • 尝试从 PGAdmin 导入 CSV 文件时权限被拒绝

    我正在使用 PGAdmin 1 14 3 当我尝试执行导入命令时 COPY grad country code postal code place name admin name1 admin code1 admin name2 admin
  • 使用 iTextSharp 更改 PDF 的字体

    如何在 C 中使用 iTextSharp 更改现有 PDF 文件的字体 我想将整个文档的字体更改为一种 例如宋体 最后我解决了这个问题 下面的代码将打开一个现有的 Pdf 文件 并按照我的预期将其所有字体更改为 盲文 private sta
  • ActiveRecord::AssociationTypeMismatch in Controller#create on dropdown select for a Rails self join

    我在 Rails 5 中自我加入时遇到 ActiveRecord AssociationTypeMismatch 错误 我不知道如何修复 这是一个简单的 Rails 应用程序 用户可以在其中分享艺术家 例如 David Bowie 对另一位
  • 使用先前的列名称填充空标题 - pandas

    我有一个数据框 其中每个第二列名称都会被跳过 eg 步骤1 这个想法是用以前的名称填充未命名的列以获得 第2步 总结每堂课的 进 和 出 得到这样的最终结果 中间的Step 1很重要 不能跳过才能得到最终结果 我感谢您的帮助 并对第一次尝试
  • React Native - Native Base 页脚不改变颜色

    这是代码 Bottom js
  • 如何将 float[][] 类型数组转换为“emxArray_real_T *x”

    我已经使用 MatlabCoder 转换了一个函数 该函数以 NxN 矩阵作为输入 并给出从 matlab 到 C 的 NxN 矩阵输出 它给了我一个有两个参数的函数 即 void func const emxArray real T x
  • 如何将r中的因子水平转换为整数

    我在 R 中有以下数据框 ID Season Year Weekday 1 Winter 2017 Monday 2 Winter 2018 Tuesday 3 Summer 2017 Monday 4 Summer 2018 Wednsd
  • 为什么 C 没有无符号浮点数?

    我知道 这个问题似乎很奇怪 程序员有时想得太多了 请继续阅读 在C中我使用signed and unsigned整数很多 我喜欢这样一个事实 如果我执行诸如将有符号整数分配给无符号变量之类的操作 编译器会发出警告 如果我比较有符号整数和无符
  • django中的复合主键

    我有一个具有复合主键的旧数据库表 我认为我无法更改结构以包含代理键 因为编写了一些使用该表的代码 在 django 中 我无法使用该表 因为它没有主键 非复合 django 模型支持复合主键吗 如果没有 是否有在不改变表结构的情况下的解决方