python - 带有 Pandas 的 Django 访问 ForeignKey

标签 python django pandas

我不了解 Pandas,所以这可能是微不足道的。

我有这行代码:

admin_data = pd.DataFrame.from_records(administrations.values()).rename(columns = {'id':'administration_id', 'study_id': 'study_name', 'url_hash': 'link'})

administration 模型(administrations 是一个记录集)获取数据并使用它。而不是使用 study_id 我想获得研究名称。对于 Djano ORM,我会使用 study__name 但我不能在这里这样做。

如何将 study.name 而不是 study.id 放入 admin_data 中?

模型

class administration(models.Model):
    study = models.ForeignKey("study") # Study name
    ...

class study(models.Model):
    name = models.CharField(max_length = 51) # Study name
    ...

最佳答案

Query the columns you need并使用 the __ syntax to get the name通过外键:

admin_data = pd.DataFrame.from_records(
    administrations.values(
        "id",
        "study__name",  # <-- get the name through the foreign key
        "url_hash",
    )
).rename(
    columns={
        "id": "administration_id",
        "study__name": "study_name",
        "url_hash": "link",
    }
)

关于python - 带有 Pandas 的 Django 访问 ForeignKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56645355/

相关文章:

python - 使用 for 循环创建多个注释

python - Cythonise 一个 pandas 循环

python - 将所有列的信息混合在一个列中

python - 使用ctypes从Python获取C中自定义数据类型的地址

python - 关于QML和PySide2的几个问题

python - 如何修补函数的 __code__?

python - 如何计算数据框列中的值?

python - pandas.unique() 的奇怪内存消耗

python - Django 应用自定义用户权限

python - Django 1.10 - 无法将关键字 '__' 解析为字段。不允许加入 '__'