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()

等...

正確に何を削除したいかによって異なります。

于 2012-08-10T03:29:35.000 に答える
0

これはお金です:

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

于 2012-08-10T21:05:40.427 に答える
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 に答える