问题描述
在我的项目中,有两个使用标签的应用程序,我希望在管理区域中将这两组标签分开,因此我遵循了thread的说明。但是,我收到FieldError
和一条消息:Cannot resolve keyword 'None' into field. Choices are: blogtags,id,name,post,slug
。看来我必须将'blogtags'字段解析为一个参数,但是我在Django中的不良经验使我无法理解我必须使用哪种方法。任何帮助将不胜感激。
我的 models.py :
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.urls import reverse
from ckeditor_uploader.fields import RichTextUploadingField
from django.utils.text import slugify
from taggit.managers import TaggableManager
from taggit.models import TagBase,GenericTaggedItemBase
class Category(models.Model):
name = models.CharField(max_length=100,unique=True,primary_key=True)
def __str__(self):
return self.name
class BlTagged(TagBase):
class Meta:
verbose_name = "Blog Tag"
verbose_name_plural = "Blog Tags"
class BlogTags(GenericTaggedItemBase):
tag = models.ForeignKey(BlTagged,on_delete=models.CASCADE
)
class Post(models.Model):
title = models.CharField(max_length=100)
content = RichTextUploadingField(blank=True,null=True,external_plugin_resources=[(
'youtube','/static/vendor/ckeditor_plugins/youtube/youtube/','plugin.js',)])
date_posted = models.DateTimeField(default=timezone.Now)
author = models.ForeignKey(User,on_delete=models.CASCADE)
is_published = models.BooleanField(default=True)
slug = models.SlugField(unique=True,max_length=100,allow_unicode=True)
category = models.ForeignKey('Category',default='uncategorized',on_delete=models.SET_DEFAULT,null=True)
blogtags = TaggableManager(blank=True,through=BlogTags)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('post-detail',kwargs={'slug': self.slug})
def save(self,*args,**kwargs):
if not self.slug:
self.slug = slugify(self.title,allow_unicode=True)
super(Post,self).save(*args,**kwargs)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)