0

django taggit を使用して、すべての入札にタグを追加しています。

私の入札モデルは次のとおりです。

class Bid(models.Model):
    tags = TaggableManager()

特定のタグを持つすべての入札から特定のタグを削除するにはどうすればよいですか?

私は次のことをするつもりでした:

「おいしい」というタグが付けられたすべての入札から、そのタグを削除したいとします。

bids = Bid.objects.filter(tags__name__in=["delicious"])
bids.tags.remove("delicious")

それは正しい方法ですか?

ありがとう!

4

1 に答える 1

0

いいえ、できません。あなたの例でbidsは、クエリセットであり、クエリセットで属性tagsを使用できません。

tagsクラスで属性を定義しBidたので、 の任意のインスタンスで使用できますBid。ただし、クエリセットでは使用できません。

あなたの例のすべての入札でタグおいしいを削除するには:

for bid in bids:
    bid.tags.remove("delicious")
于 2013-03-27T16:01:44.527 に答える