特定のフィールドを指定するモデルがあります。
class Upload_files(models.Model):
title =models.CharField(max_length=100, blank=True , null=True)
image =models.ImageField(upload_to='images')
attributes =models.ForeignKey(Product_attributes, blank=True , null=True)
value =models.CharField(max_length=100, blank=True , null=True)
price =models.CharField(max_length=100, blank=True , null=True)
def __unicode__(self):
return unicode(self.id)
ここで、3つのフィールド(アップロードID、属性ID、および値)のみを持つ別のテーブルを作成します。これらのフィールドは、上記のテーブルの値、つまり、upload_id、上記で選択した属性、および値を取得する必要があり、管理パネルからのみ読み取ることができます。
次のコードを使用しました
class Product_values(models.Model):
product =models.ForeignKey(Upload_files, blank=True , null=True)
attributes =models.ForeignKey(Product_attributes, blank=True , null=True)
value =models.CharField(max_length=100, blank=True , null=True)
def __unicode__(self):
return unicode(self.product)
私が言ったように機能しないことは知っていますが、どうすればそれを行うことができますか?そのため、upload_filesモデルで定義すると、値と属性フィールドはデフォルトで値を取ります。
編集
管理パネルからupload_filesモデルに値を挿入すると、アップロードされたファイルのインスタンスが、前に定義したアップロードID、属性、および値を使用して別のテーブルに作成されるようにしたいと思います。