Djangoモデルに配列を格納できるかどうか疑問に思っていましたか?
Int(e.g [1,2,3])の配列をフィールドに格納し、特定の配列を検索して、それまたはそれの可能な組み合わせで一致を取得する必要があるため、これを求めています。
私はその配列を文字列として文字列として保存し、何かを検索する必要がある場合は、値を(他のモデルをフィルタリングして取得した)「[」、「]」、「」で連結し、オブジェクトフィルターを生成された文字列。問題は、可能な組み合わせをそれぞれ生成し、一致するまで1つずつフィルタリングする必要があり、これは非効率的であると考えられることです。
それで、私が試してみることができる別のアイデアを教えていただければ幸いです。
私は必ずしもコードを要求しているわけではありません。これを達成する方法についてのアイデアは良いでしょう。
はい、次のように使用できます。
from Django.contrib.postgres.fields import ArrayField
class Board(models.Model):
pieces = ArrayField(ArrayField(models.IntegerField()))
ただし、データベースにPostgreSQLを使用している場合にのみ使用できます。
Postgresを使用していない場合は、Djangoの_validate_comma_separated_integer_list
_バリデーターをお勧めします。
CharField()
のバリデーターとして使用します。