Джанго с Пандами получает доступ к ForeignKey - PullRequest
1 голос
/ 18 июня 2019

Я не знаю панд, поэтому это может быть тривиально.

У меня есть эта строка кода:

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
    ...

1 Ответ

2 голосов
/ 18 июня 2019

Запрос нужных вам столбцов и использование синтаксиса __ для получения имени через внешний ключ:

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",
    }
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...