Django管理员:如何同时保存页面和拆分标签?
我试图保存一个Django管理员:如何同时保存页面和拆分标签?,django,django-admin,Django,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 =
页面
实例,同时拆分并保存其标记
这是我的代码:
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')
类页面(models.Model):
title=models.CharField(最大长度=255,唯一性=True)
slug=models.SlugField(最大长度为255,默认值为“”,空白值为True)
content=tinymce\u models.HTMLField(blank=True)
categories=models.ManyToManyField(PageCategory,related_name='page_categories',null=True,blank=True)
tags=models.CharField(最大长度=512,默认值=“”)
def ___; unicode(自):
返回自己的标题
def保存(自身、*args、**kwargs):
#先存
self.slug=slagify(unidecode(self.title))
obj=super(Page,self).save(*args,**kwargs)#先保存
如果obj.id和obj.tags:#拆分并将标记分配到此页面您应通过self
更改obj
:
self.page_tags.add(tag)
因为。那self.page\u tags.add(tag)
怎么办呢?