1

1つのモデルクラスの一部のフィールドについて、リクエストに応じてサムネイルを保存したいと思います。私にとっての苦痛は、サムネイルクラスを可能な限りシンプルに保つにはどうすればよいかということです。

私はこのメインクラスを持っているとしましょう

class Staff(models.Model):
    name = models.CharField(max_length=100)
    img1 = models.ImageField(upload_to=upload_path)
    img2 = models.ImageField(upload_to=upload_path)
    img3 = models.ImageField(upload_to=upload_path)
    ...

次に、別のモデルクラスの各imgフィールドのサムネイルを保存したいと思います。だから私はThumbnail例えばimg1...このようなもの(コードが機能していない)の親指があるかどうかを問い合わせることができます

class Thumbnail(models.Model):
    staff = models.ForeignKey(Staff)
    field = models.FooBar('Staff._meta.fields...')
    thumb = models.ImageField(upload_to=upload_path2)

このクラスがどのように見えるかについての提案やアイデアはありますThumbnailか?

4

1 に答える 1

0

画像とサムネイルをより適切に保存するために、モデルにもう少し変更を加えることをお勧めします。ImageInfo元の画像、サムネイル、その他の属性を保持するモデルを作成できます。Staffそれはあなたがのために複数の画像を持つことができるようにforiegnkeyを持っているでしょうStaff

class Staff(models.Model):
    name = models.CharField(max_length=100)


class ImageInfo(models.Model):
    staff = models.ForeignKey(Staff)
    img = models.ImageField(upload_to=upload_path)
    thumb = models.ImageField(upload_to=upload_path2)

これで、サムネイルが設定されている画像を見つけることができます。

staff_obj.imageinfo_set.filter(thumb__isnull=False)
于 2012-10-22T08:27:57.963 に答える