FileFieldで構成されるモデルMyImagesがある場合、ファイルのURLでクエリする方法はありますか?私はDjangoが次のようなことを許可していることを知っています:
my_image.file.url
しかし、URLがFileFieldでクエリ可能かどうかはわかりませんでした。ありがとうございました!
FileFieldで構成されるモデルMyImagesがある場合、ファイルのURLでクエリする方法はありますか?私はDjangoが次のようなことを許可していることを知っています:
my_image.file.url
しかし、URLがFileFieldでクエリ可能かどうかはわかりませんでした。ありがとうございました!
モデル内にurlフィールドを作成し、saveメソッドをオーバーライドしてfile.urlに設定できるため、このurlでモデルをクエリできます。
class MyModel(model.Model):
image=models.ImageField(upload_to='folder')
url=models.CharField(...)
def save(self, *args, **kwargs):
self.url = self.image.url
super(Model, self).save(*args, **kwargs)
次に、URLフィールドをフォームに非表示にします(モデルフィールドにeditable = Falseを設定します。その結果、ModelFormを介してモデルから作成されたフォームにはそのフィールドが含まれません。詳細はこちら)