Я новичок в Django, так что вы можете помочь мне понять, как работает метод save ()?
Вот мои модели:
class Tag(models.Model):
name = models.CharField(verbose_name=u'Tag', max_length=200, unique=True)
class Entry(models.Model):
title = models.CharField(verbose_name=u'Entry title', max_length=200)
# some more fields here
tags_string = models.CharField(verbose_name=u'Tags', max_length=200, blank=True)
tags = models.ManyToManyField(Tag, blank=True)
Есть tags_string
где пользователь вводит теги, разделенные запятой.Это просто строка.
Затем я пытаюсь добавить теги в ManyToManyField, нажав «Сохранить» в админке Django:
def save(self):
super(Entry, self).save()
if self.tags_string:
for tag in tags_string.split(","):
t = Tag.objects.create(name=tag)
self.tags.add(t)
, но это не работает.entry.tags.add(t)
отлично работает через оболочку Django - она добавляет значения в базу данных.Я думаю, что что-то не так в моем методе save ().
Не могли бы вы подсказать, как это исправить, пожалуйста?