我正在使用Django ManyToManyField为照片分配标签。我把M2M字段放在标签模型中:
class Tags(models.Model):
tag = models.CharField(max_length=100, blank=True, null=True)
photos = models.ManyToManyField(Photos)
工作正常。我可以使用以下方式将所有标签分配给照片:
photo = Photos.objects.get(id=int(photo_id))
photo_tags = photo.tags_set.all()
然后为用户提供所有标签的列表,以便他们可以为我分配照片:
tag_list = Tags.objects.order_by('tag')
但是,我想将此列表限制为尚未分配给照片的标签,例如标签不在该照片的连接表中。
但坚持使用这里使用的ORM逻辑。有像tags_set_none或filter(tags_set = None)吗?
答案 0 :(得分:1)
tags = Tags.objects.exclude(photos=photo)