首页 > 解决方案 > 选择两个表之间的关系(SQLAlchemy)

问题描述

考虑两个表:用户和计算。

计算结构:{“id”: <primary_key>, “array”: <array of numbers>, “calculations”: <array of all calculations for given array of numbers>}

用户创建这些计算。

我希望能够查询与特定用户关联的计算。据我所知,我需要有计算模型的用户参考才能做到这一点。

问题是:是否可以通过让用户参考计算模型来避免改变计算结构?

我正在考虑在用户模型上有一个带有计算 ID 的数组字段。这是一个可行的解决方案吗?

标签: pythonsqlalchemy

解决方案


您可以使用ArrayField。你应该在你的用户模型中创建这个字段,你可以用计算的 ID 填充它。它可能看起来像这样:

from django.contrib.postgres.fields import ArrayField
from django.db import models

class User(models.Model):
    calculations = ArrayField(models.IntegerField(blank=True),blank=True)

当然,您可以更改空白选项,我写它只是为了说明如何将其用于两个字段。


推荐阅读