広告アプリを構築しています。 基本的に、ユーザーはログインして何かの広告を投稿できます。 私は以下のモデルを掲載しましたが、基本的にカテゴリ(エレクトロニクスまたは不動産)、次にサブカテゴリ(エレクトロニクス - >ラップトップまたは不動産 - >住宅、アパートなど) 問題は、異なる属性。 たとえば、ラップトップには「画面」、「ラム」、「HDD」属性があり、「車」には「マイレージ」と「条件」があります。 これらの属性をJSONFieldに格納することにしました。動的モデルの属性をフォームに読み込む - django
from django.db import models
from django.contrib.postgres.fields import JSONField
class Category(models.Model):
name = models.CharField(max_length=255)
def __str__(self):
return self.name
class SubCategory(models.Model):
category = models.ForeignKey('Category')
name = models.CharField(max_length=255)
def __str__(self):
return self.name
class Product(models.Model):
name = models.CharField(max_length=255)
subcategory = models.ForeignKey('SubCategory')
description = models.TextField()
price = models.IntegerField()
price_fixed = models.BooleanField(default=False)
monthly_payments = models.BooleanField(default=False)
created = models.DateField(auto_now_add=True)
custom_attributes = JSONField(default=dict)
def __str__(self):
return self.name
ここで、フォームとビューでこれらのカスタム属性を処理するにはどうすればよいですか? ユーザーがドロップダウンからカテゴリ/サブカテゴリを選択したときに、これらの属性をテキストフィールドとして表示し、画面サイズ、Tシャツサイズ、色などを入力する必要があります。
これは私の最初のdjangoアプリ、そして私が学んだ本はこのようなものをカバーしていませんでした。私はここからどこに行くべきか正確にはわかりません。googleで検索する/私には解決策が見つかりませんでした。
value_typeにはどのような種類のデータが含まれていますか? – goran
このフィールドに格納されている値のタイプ - 文字列、整数など –
この値で簡単にやりたいことは重要です(たとえば、最も重い車を確認するなど)。この値で保存/フィルタしたいのであれば、 'value_type'なしで扱うことができます –