質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.34%

  • Python

    9289questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Python 3.x

    7454questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Django

    1188questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Djangoのmodel内に1つのフィールド内に2次配列を格納したい

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 225

kei-nextone

score 22

実現したいこと

Djangoのmodel内に1つのフィールド内に2次配列を格納したいのですが、どうすれば良いのかわからず困っています。
どうすればよいでしょうか。

作成したいものイメージ例

models.py

class 通勤時電車情報(models.Model)
    name = models.CharField(max_length=200) #氏名
    how_to =models.?????(???????) #乗り換え情報。何線で何分→何線で何分→何線で何分…のような感じを配列で表現したい。


テーブル「通勤情報」の内容

name how_to
name   
Aさん   [[○○線, 3分], [△△線,6分]]
Bさん [[xx線, 20分], [vv線, 7分], [△△線,6分]]

how_toについては人によって配列の数が異なる

環境情報

Django2.0.7
Python3.6.5

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+1

ご要望の内容をストレートに実現するのであれば、配列を文字列に変換して、文字として格納する方法になると思います。もちろん、データを利用するときは文字列を配列に変換する処理を行わなければならないです。

具体的な実装方法は、python list text convert あたりのキーワードで探してもらえれば、いろいろみつかると思います。

そのモデルを使って、何をするか?によりますが、上記以外にも、解決方法はあります。

一つの例として、一人のデータにつき、複数行を利用するという方法があります。

名前 how_to
Aさん ○○線, 3分
Aさん △△線,6分
Bさん xx線, 20分
Bさん vv線, 7分
Bさん △△線,6分

この辺りは、djangoというより、データモデリングの話になると思いますので、データベース関連の話題になりますね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/29 16:48

    なるほど。こういう方法もあるのですね。
    ご回答ありがとうございました。

    キャンセル

checkベストアンサー

0

JSONを使ってみては?
https://qiita.com/xKxAxKx/items/7752f42b730b819fb7da

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/29 16:49

    これは良さそうですね。
    やってみます。ありがとうございました。

    キャンセル

同じタグがついた質問を見る

  • Python

    9289questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Python 3.x

    7454questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Django

    1188questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。