在Django中删除仅限于多对多的特定关联

2024-03-29 08:59:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在标签和餐馆之间有着多对多的关系。我想做的是移除两个标签之间的关联。在

例如,假设restaurant.tags.all()生成以下标记:['t1'、't2'、't3'、't4'、't5']

我有办法吗餐厅。标签。删除??(['t2','t4']),因此restaurant.tags.all()的结果现在是:['t1','t3','t5']?在


Tags: 标记关系tags标签all餐厅restaurantt1
1条回答
网友
1楼 · 发布于 2024-03-29 08:59:06

是的,您可以使用remove。退房https://docs.djangoproject.com/es/1.9/ref/models/relations/#django.db.models.fields.related.RelatedManager.remove

在您的例子中,您需要对标记的引用,而不是它们的字符串表示。在

tags_to_be_removed = Tags.objects.filter(pk__gte=5) # use your filter
restaurant.tags.remove(*tags_to_be_removed)

我们要将列表转换为removeConverting list to *args in Python的参数

相关问题 更多 >