0
在models.py我有...如何刪除多對多而不刪除關係中的所有對象?
class Siteinfo(models.Model):
url = models.CharField(max_length=100)
description = models.TextField()
class Makesite(models.Model):
sitename = models.CharField(max_length=100, unique = True)
siteinfo = models.ManyToManyField(Siteinfo)
ref_id = models.ManyToManyField(RefID)
def __unicode__(self):
return u'%s' %(self.sitename)
我試圖刪除說明的實例,並與另一個實例替換它,仍然有它與同URL相關聯,並且仍然在許多人許多對象在說。小組。
所以group1是網站名稱。創建的關係我有
url = request.POST['url']
description = request.POST['description']
datsite = Makesite.objects.get(sitename=site)
datsite.siteinfo.add(Siteinfo.objects.create(url=url,description=description))
但是當我嘗試刪除,並與該位的代碼也刪除網址替換描述。
name = Makesite.objects.get(sitename=site).siteinfo.values_list('description',flat=True)[0]
Makesite.objects.get(sitename=site).siteinfo.get(description=name).delete()
我想我可以嘗試寫一些代碼,可以解決這個問題,但我寧願找到一種方法,只需要刪除一個,並在其位置添加另一個實例。
只是可以肯定。在你的例子中name變量是什麼? – city
@city我從你的例子中取了name變量 - 它應該是一個Siteinfo實例的描述。 –