0

我有以下表结构:

class Tags:
    name = fields.CharField(max_length=100)
    ref     = models.ManyToManyField(RefTags)

class RefTags
    foo = varchar(128)
    tag = models.ForeignKey('Tag')

如果 RefTags 中没有关联记录,如何从标签中删除?

谢谢

编辑:我想通了,这真的很容易:

Tag.objects.filter(ref__isnull=True).delete()

4

3 回答 3

0
from models import Tags

Tags.objects.filter(...).delete()
Tags.objects.all().delete()

ETC...

具体取决于您要删除的内容。

于 2012-08-10T03:29:35.000 回答
0

就像是

for tag in Tags.objects.all():
    if tag not in RefTags.objects.all():
        RefTags.objects.filter(tag=tag).delete()

将 RegTags.objects.all() 放在一个列表中,循环通过它然后进行删除可能会更有效。

于 2012-08-10T04:06:01.903 回答
0

这是钱:

Tag.objects.filter(ref__isnull=True).delete()

于 2012-08-10T21:05:40.427 回答