Я новичок в 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().
Не могли бы вы предложить мне, как это исправить, пожалуйста?
self.tags_string
? - person juliomalegria   schedule 23.11.2011print self.tags_string
.. может в этом проблема. Все остальное вроде правильно - person juliomalegria   schedule 23.11.2011