私は現在このモデルを持っていますが、会社のモデルを削除せずにロゴを削除するにはどうすればよいですか。可能であればコードをサンプルしてください。
class Picture(models.Model):
owner = models.ForeignKey(User,blank = True)
caption = models.CharField(max_length=150, blank=True, null=True)
image = ImageField(upload_to='images/',blank = True, null = True)
class Company(GenericUser):
company_name = models.CharField(max_length=150,blank = True,null = True)
logo = models.ForeignKey(Picture,blank = True,null = True)
これはモデルです。次に、モデルがこのように見える土地モデルから写真を削除するにはどうすればよいですか。
class Land(Properies):
photo = models.ManyToManyField(Picture,blank=True,related_name='Land_Pictures',null = True)
私はこのビットを試しましたが、うまくいきません
checked_list = []
start = 1
land_photos = sorted(list(land.photo.select_related()),reverse =True)
while start < 8:
photo = 'photo%s' % start
checked = form.cleaned_data[photo]
if checked != None:
checked_list.append(land_photos[start - 1])
start += 1
for a_foto in checked_list:
land.photo.remove(a_foto)
try:
a_foto.remove_all_file()
a_foto.delete()
except OSError:
pass
IDがnoneに設定されているなどのエラーが発生し続け、更新を押すと機能すると思います
Exception Type: AssertionError
Exception Value:
Picture object can't be deleted because its id attribute is set to None.