python - 如何在 Django 中为矩阵表建模
问题描述
在 Django ORM 中建模这个简单的表已经困扰了我一段时间。我想要的输出如下所示。
item_a item_b item_d item_d
-----------------------------------------------
item_a 0 2 4 2.2
item_b 1 0 3.5 0.3
item_c 2 4 0 2
item_d 3.2 1 1 0
我的要求:
- 项目的关系是一个类似上面的矩阵表。
- 上表的每一行都可以编辑。
- 还必须有添加新项目的可能性。
我遇到的最接近的事情是使用manytomany
关系。但在这个模型中,我的物品与它们自己有关系,这让我很困惑。
在 Django 模型中建模这种关系的方法是什么?
解决方案
假设您有另一个模型定义了哪些条目可以显示为矩阵中的行/列:
class Items(models.Model):
name = models.TextField()
class DependencyRatio(models.Model):
col = models.ForeignKey(Items, related_name='column_item')
row = models.ForeignKey(Items, related_name='row_item')
value = models.FloatField()
除了将矩阵表示为正方形之外,您还可以展开它并将其表示为标签对以及单元格值。
推荐阅读
- python - 如何在 Python 中从 XML 响应写入 CSV?
- python-3.x - 在 pyodbc 数据集中查找字符串不起作用
- git - 如何将现有的本地仓库推送到远程
- c# - 压缩文件后(它们从 Visual Studio 中的文件路径引用打开),如何让我的应用程序从单独的 Winform 打开?(C#)
- mysql - Laravel ManytoMany:如何在用户注册时将产品附加到用户?
- gps - 将 Teltonika 设备连接到 Thingsboard
- reactjs - 当应用程序在前台时如何使用reactjs Web应用程序中的firebase推送通知处理click_action
- angular - 如何使用特殊关键字将字符串拆分为子字符串?
- python - Python:未检测到 Word 文档中的某些表格单元格
- c++ - 测量时间以在 C++ 中生成更好的随机数