删除特定字段中具有重复值的 Django QuerySet 对象
我有这个 Django 模型(来自 Django CMS):
class Placeholder(models.Model):
slot = models.CharField(_("slot"), max_length=50, db_index=True)
default_width = models.PositiveSmallIntegerField(_("width"), null=True)
我想删除具有重复“槽”值的占位符对象,仅保留每个对象的第一个并删除其他对象。
如何编写执行此操作的查询(使用 Django QuerySet API)?
I have this Django model (from Django CMS):
class Placeholder(models.Model):
slot = models.CharField(_("slot"), max_length=50, db_index=True)
default_width = models.PositiveSmallIntegerField(_("width"), null=True)
I want to delete the Placeholder objects with a duplicate 'slot' value, keeping only the first one of each and deleting the others.
How do I write a query (using the Django QuerySet API) that does this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以尝试 Torsten 解决方案,但使用字典代替,速度要快得多。
You can try Torsten solution but using a dictionary instead, is way much faster.
我会采用一种函数式方法,而不是执行所有这些操作的一个特定查询:
I would do a functional approach, rather than one particular query which does all of this: