django ormを使用して画像フィールドのみを更新しようとしています。つまり、ユーザーは後で画像を追加し、プライマリテーブルで更新されます
私は試した
MerchantProfile.objects.filter(id='%s'%(cd['id'])).update(photo='%s'%(cd['photo']))
ただし、キャプションのみが更新され、画像はフォルダに保存されません
それから私はフォローしてみました
p1=MerchantProfile()
p1.id=cd['id']
if cd['photo']:
p1.photo=cd['photo']
else:
p1.photo=cd['uploaded_photo']
p1.save()
画像は保存されますが、payment_card
できないようなエラーが表示されますnull
私のモデルは以下の通りです
class Merchantprofile:
user = models.OneToOneField(UserProfile, related_name="merchant_profile")
payment_card = models.OneToOneField(PaymentCard, related_name="merchant_profile")
current_state = models.IntegerField('State', choices=STATE_CHOICES)
name = models.CharField('Merchant Name', max_length=64)
photo=models.ImageField(upload_to='logo',blank=True)
形
class LogoForm(forms.Form):
id = forms.CharField(widget=forms.HiddenInput,required=False)
photo = forms.ImageField(
required=False,
label='Upload photo',
initial=True,
help_text='max. 4 megabytes'
)
毎回すべてのフィールドを更新できるわけではないので、関連するフォルダに写真をアップロードするだけで写真フィールドを更新する最良の方法は何ですか?