2012-08-01 64 views
0

我試圖使用Django ORM更新像場只有IE瀏覽器的用戶將在稍後添加圖像,將在主表更新在Django與像場

我試圖更新

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' 
    ) 

那麼什麼是隻更新照片領域的最佳途徑與相關文件夾上傳照片,因爲我無法每次更新所有字段

回答

0

試試這個:

p1 = MerchantProfile.objects.filter(id=cd['id']) 
if cd['photo']: 
    p1.photo=cd['photo'] 
else: 
    p1.photo=cd['uploaded_photo'] 
p1.save() 
+0

不,它不工作 – hangman 2012-08-01 08:40:37

+0

@JoelleTillman我希望cd ['photo'](和其他)是文件包裝或類似的對象。 – Rohan 2012-08-01 08:47:09

+0

@JoelleTillman什麼不與這個工作? – 2012-08-01 08:58:58