Я пытаюсь использовать django-taggit в качестве модели тегов.
модель.py
class Product(models.Model):
product_no = models.IntegerField(primary_key=True)
...
tags = TaggableManager(blank=True)
просмотры.py
def action(request):
product = Product()
user = User.objects.get(id=request.user.id)
product.seller_username = user
...
product.save()
tag_list = taggit.utils._parse_tags(request.POST['tags'])
product.tags.add(*tag_list)
Когда я вызываю метод product.tags.add(), я получаю сообщение об ошибке
Объекты продукта должны иметь значение первичного ключа, прежде чем вы сможете получить доступ к их тегам.
Многие решения, которые я нахожу, сообщают мне, что нужно поместить product.save() перед product.tags.add(), чтобы сделать pk доступным до доступа к полю «многие ко многим». Я пробовал и все равно ошибка.
Примечание: метод save() работает правильно. Он создает новый объект в списке продуктов и его можно увидеть в интерфейсе администратора.
product.product_no
перед его сохранением? - person solarissmoke   schedule 17.10.2017