1. ホーム
  2. python

[解決済み] Django のモデルでリストを格納する最も効率的な方法は何ですか?

2022-04-23 18:52:05

質問

現在、私のコードには以下のようなPythonのオブジェクトがたくさんあります。

class MyClass():
  def __init__(self, name, friends):
      self.myName = name
      self.myFriends = [str(x) for x in friends]

self.myName は文字列フィールドで、 self.myFriends は文字列のリストです。

from django.db import models

class myDjangoModelClass():
    myName = models.CharField(max_length=64)
    myFriends = ??? # what goes here?

リストは Python では一般的なデータ構造なので、そのための Django モデルフィールドがあることをなんとなく期待していました。ManyToMany や OneToMany リレーションを使えることは知っていますが、コード内の余分なインダイレクトを避けたいと考えていました。

編集する

これを追加しました 関連質問 ということです。

解決方法を教えてください。

このリレーションは、1対多の外部キー・リレーションとして Friends テーブルを使用することができますか? 私は、以下のことを理解しています。 myFriends は単なる文字列ですが、より良いデザインは Friend モデルを作成し MyClass には、結果のテーブルに対する外部キー関係が含まれています。