私は様々な画像タイプをカプセル化するモデルを持っているDjangoベースのアプリケーションを書いています。次のように私は備品としてそれらをロードする次のようdjangoのモデルとオブジェクトのメタデータを追加
[
{
"model": "app.ImageTypeModel",
"pk": 1,
"fields": {
"type": "PNG",
"dims": 1
}
},
{
"model": "app.ImageTypeModel",
"pk": 2,
"fields": {
"type": "Custom",
"dims": 100
}
},
{
"model": "app.ImageTypeModel",
"pk": 3,
"fields": {
"type": "JPEG",
"dims": 1
}
},
{
"model": "app.ImageTypeModel",
"pk": 4,
"fields": {
"type": "BMP",
"dims": 1
}
}
]
は、対応するモデルの宣言は以下の通り
class ImageTypeModel(models.Model):
type = models.CharField(max_length=100)
dims = models.IntegerField()
class Meta:
db_table = "image_type"
はまた、私は(私は簡略化のためにいくつかのフィールドを削除した)画像の様々なインスタンスを有します。
class ImageModel(models.Model):
type = models.ForeignKey(ImageTypeModel)
class Meta:
db_table = "images"
これらの画像タイプのそれぞれについて、私は異なる特性を指定したいと思います。たとえば、タイプがCustom
の画像の場合、整数、文字列、浮動小数点数、浮動小数点数のベクトルなど、特定のデータ型になるさまざまなプロパティを持つことができます。これを定義する1つの方法は、これらのデータ型用の表と、各イメージ型用の追加表(これらの表構成表と呼ぶ)です。各行はプロパティ名と関連データ型になります。私はそれに基づいて自動フォームを作成してみることができます。
ただし、画像タイプと関連する設定テーブルの関連付け方法がわかりません。だから、元のフィクスチャの例では、別のフィールドとしてデータベーステーブル名を追加することをお勧めしますか?あるいは、これらの設定テーブルごとにモデルを作成する必要がありますが、これらのモデルをフィクスチャーコードで参照する方法がわかりません。
このような問題にアプローチする方法についてアドバイスを探すには、バックエンドのオブジェクトに対してもmetadata
のこの王を指定する必要があり、djangoモデルやフィクスチャにどのように適合することができるかを調べてください。
答えをありがとう!私はちょうど同じ方法でこれらの追加の属性を含めるだけでなく、私の備品を拡張することができると思います。命名規則にも頭を付けてくれてありがとう。 – Luca