ユーザがカスタムプロパティを定義できるようにしたい。djangoのユーザ定義フィールドモデル
それぞれの顧客が異なる方法でアパートメントを管理するように管理マンションです。 私はアパートのためにいくつかのカスタムプロパティを定義できるようにします。
class Unit(CommonInfo):
version = IntegerVersionField()
number = models.CharField(max_length=30,null=True, blank=True)
max_occupants = models.PositiveSmallIntegerField()
floor = models.PositiveSmallIntegerField()
rooms = models.PositiveSmallIntegerField()
is_disabled_access = models.BooleanField(default=False)
balcony_quantity = models.PositiveSmallIntegerField()
building = models.ForeignKey(Building)
recomended_price = models.DecimalField(max_digits=7, decimal_places=2)
私は、このモデルに追加フィールドを追加できるようにしたいと考えています。 例 - is_breaker is_fuse Number_of
私は、必要なデータを予測できないため、
どうすればいいですか?
モデルの変更ごとに、あなたの変更がデータベースで有効になるようにするには、 'python manage.py makemigrations'と' python manage.py migrate'を実行する必要があります。これは、ここでリレーショナルデータベースで望むことができないことを意味します。代わりに、NoSQLデータベースを見て、データベーススキーマの柔軟性という点で提供するものを利用する必要があります。 @ettananyが指摘している理由から、 – ettanany
が動作しません。しかし、私はNoSQLでそれを解決しません(残りのデータはかなりリレーショナルであると仮定します)。人々が任意のタグを行えるようにするタグ付けアプリケーションが数多くあります。または、それらを定義する場合は、「属性」モデルに多対多フィールドを使用します。 –
postgresを使用すると、余分なフィールドをJSONFieldに保存できます。または、ユーザー単位フィールド値のプロパティー表を作成してそこに保管することもできます。後でこれらのフィールドを使って何を行うかによって異なります(ストアまたはストアとクエリのみ) – serg