я в настоящее время эти модели:Джанго ManyToManyField Создание Проблемы
class Category(models.Model):
name = models.CharField(max_length=200)
parent = models.ForeignKey('self', blank=True, null=True, related_name='child')
description = models.TextField(blank=True,null=True)
class Item(models.Model):
name = models.CharField(max_length=500)
...
tag = models.ManyToManyField(Category, null=True, blank=True, related_name='tag_item')
Моя проблема, я не могу добавить теги к любым пунктам, которые я уже создал. Если я пытаюсь сделать что-то вроде:
>>> cat = Category.objects.get(pk=1)
>>> cat.tag_item.create(item_id = 1)
Я получаю TypeError: 'item_id' is an invalid keyword argument for this function
Однако, если я:
>>> cat.tag_item.create()
Я в конечном итоге с вновь созданным пустым элементом.
Я также не понимаю, как выполнить запрос, чтобы получить все теги для определенного элемента? Нет класса Tag, потому что мне не нужно указывать атрибут through
на ManyToManyField, так как нет никаких дополнительных данных, поэтому я не могу использовать диспетчер тегов, чтобы сделать что-то вроде Tag.objects.filter(item_id=3)