社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

如何从Django中的对象中删除条目

Quang VÅ© • 5 年前 • 1310 次点击  

我在学习Django,我有一些疑问: 我有这个密码

class Publication(models.Model):
  title = models.CharField(max_length=30)
  def __str__(self):
    return self.title

class Article(models.Model):
  headline = models.CharField(max_length=100)
  publications = models.ManyToManyField(Publication)

  def __str__(self):
    return self.headline

在这段代码中,通过一个项目对象,我可以添加许多发布条目。如何使用查询从项目对象中删除条目?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38585
 
1310 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Anoop Kumar
Reply   •   1 楼
Anoop Kumar    6 年前

只需使用 remove() 删除它 demo .

如果要删除与之关联的所有条目,请使用 clear() 如所示 link .

有关“多对多”的更多信息,请检查此 link

谢谢

Willem Van Onsem
Reply   •   2 楼
Willem Van Onsem    6 年前

鉴于 a 是你 Article p 是你的吗 Publication 如果要删除,可以使用 .remove(..) [Django-doc] 功能:

a.publications.remove(p)  # remove p from the publications of a

如果 不是与相关的发布 ,那么这个调用基本上是一个“no op”:它不会改变任何东西,也不会引发异常。

注意我们在这里 删除 Publiction 对象本身,其他对象 文章 S仍指 .

这是一个“variadic”方法,因此如果您想删除 p1 , p4 p5 来自 publications 属于 ,你可以写:

a.publications.remove(p1, p4, p5)  # remove three publications from a