0
我試圖保存一個Page
實例並同時拆分它的標籤。Django Admin:如何同時保存頁面和拆分標籤?
這是我的代碼:
class Page(models.Model):
title = models.CharField(max_length=255, unique=True)
slug = models.SlugField(max_length=255, default='', blank=True)
content = tinymce_models.HTMLField(blank=True)
categories = models.ManyToManyField(PageCategory, related_name='page_categories', null=True, blank=True)
tags = models.CharField(max_length=512, default='')
def __unicode__(self):
return self.title
def save(self, *args, **kwargs):
#save first
self.slug = slugify(unidecode(self.title))
obj = super(Page, self).save(*args, **kwargs) #save first
if obj.id and obj.tags: #split and assign tags to this page <--ERROR--
tags = obj.tags.split(',')
for t in tags:
atag = t.strip(' ')
tag, saved = Tag.objects.get_or_create(name=atag)
obj.page_tags.add(tag)
class Tag(models.Model):
name = models.CharField(max_length=255, unique=True)
pages = models.ManyToManyField(Page, related_name='page_tags')
的問題是,我總是得到這樣的錯誤: 'NoneType' object has no attribute 'id'
我在做什麼錯?
那麼'self.page_tags.add(tag)'而不是'obj ...'呢? – danihp
它的工作原理,但爲什麼我的破碎? – xpanta
作爲回答。 – danihp