信号を使って、モデルがカテゴリに属するかどうかを確認します。そうであれば、オプションのImageFieldを特定のURLに変更したいと思います。Django:オプションのImageFieldのURLを変更する
これはどのように達成できますか?以下のコードは動作しませんが、オプションのフィールドであるため「属性を設定できません」というエラーが表示され、保存したときに空白になりました。ここで
は私のサンプルモデル
class Foo(models.Model):
category = models.IntegerField(max_length=1)
poster = models.ImageField(u"Poster", blank=True)
と私のポストが信号を保存している:
def post_poster(instance, **kwargs):
if instance.category == 1 #a specific category
instance.poster.url = u'/media/special_image_for_1.png'
instance.save()
except MovieCat.DoesNotExist:
pass
これは、あなたが知っている、適切なPythonの構文ではありません。 – gruszczy