- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 taggit 和 taggit 序列化程序在我的模型中添加标签。我在 Rest 框架中制作 API。我按照说明操作( https://github.com/glemmaPaul/django-taggit-serializer )但这仍然是一个问题:
"tags": [ "Invalid json list. A tag list submitted in string form must be valid json."]
/设置.py
INSTALLED_APPS = [
[...]
'rest_framework',
'taggit',
'taggit_serializer',
]
/models.py
tags = TaggableManager(blank = True)
/序列化器.py
class JobSerializer(TaggitSerializer,serializers.HyperlinkedModelSerializer):
# tag serializer
tags = TagListSerializerField()
view.py 中发生了变化。
感谢@ykh帮助我解决了这个问题,但是遇到了新的情况,出现了错误:
当你想初始化该值时:
hao,free
结果将是这样的:
"tags": [
"hao",
"free"
],
但是当我打算更新这个值时:它自动显示rest框架中的Json文件:
如果您将数据放入 API,结果将是:
问题是,每次我尝试修改 REST 框架中包含“标签”的实例时,括号和换行符都会自动添加到“标签”字段中,如图结果所示
更新:看来我已经解决了这个问题,解决方案是重写序列化器中的创建函数:
using django-taggit-serializer. and
def create(self, validated_data):
tags = validated_data.pop('tags')
instance = super(JobSerializer, self).create(validated_data)
instance.tags.set(*tags)
return instance
最佳答案
尝试:
import six
class NewTagListSerializerField(TagListSerializerField):
def to_internal_value(self, value):
if isinstance(value, six.string_types):
value = value.split(',')
if not isinstance(value, list):
self.fail('not_a_list', input_type=type(value).__name__)
for s in value:
if not isinstance(s, six.string_types):
self.fail('not_a_str')
self.child.run_validation(s)
return value
class JobSerializer(TaggitSerializer,serializers.HyperlinkedModelSerializer):
tags = NewTagListSerializerField()
发布带有“tags1,tags2
”的标签
原始源代码是:
def to_internal_value(self, value):
if isinstance(value, six.string_types):
if not value:
value = "[]"
try:
value = json.loads(value)
except ValueError:
self.fail('invalid_json')
if not isinstance(value, list):
self.fail('not_a_list', input_type=type(value).__name__)
for s in value:
if not isinstance(s, six.string_types):
self.fail('not_a_str')
self.child.run_validation(s)
return value
该错误是由 json.loads(value)
未成功引起的,我不知道哪种数据类型除外。
关于django - 使用 Django-taggit 和 django-taggit-serializer 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52695298/
我有以下型号 class Entry(models.Model): user = models.ForeignKey(User) created = models.DateTimeFi
我正在使用 django-taggit 对于我的一个项目,根据文档,我在我想在其中使用标签/关键字的模型中执行了以下操作。 模型.py from taggit.managers import Tagg
我正在尝试通过 taggit 和 taggit 序列化程序在我的模型中添加标签。我在 Rest 框架中制作 API。我按照说明操作( https://github.com/glemmaPaul/dja
我正在尝试通过 taggit 和 taggit 序列化程序在我的模型中添加标签。我在 Rest 框架中制作 API。我按照说明操作( https://github.com/glemmaPaul/dja
例如: tags_input = "hello, foo, bar, ok" tagset = tag_parser(tags_input) # {'bar', 'foo', 'hello', 'ok
我正在使用 django-taggit 并且在尝试过滤关系时遇到了一个问题。 有以下型号: class Artist(models.Model): tags = TaggableManage
在这里发疯... 在外壳中,我可以执行以下操作: product.tags.add("a_new_tag") 将标签添加到数据库中,并且与产品的标签关联正常工作。 (即,当我执行 Product.ob
我可以在模板中像这样一一获取所有标签的名称 {% for tag in blog.tags.all %} {{ tag.name }} {% endfor %} 我可以从这样的表单中获取输入
我现在正在构建一个基本的时间记录应用程序,我有一个使用 django-taggit 的 todo 模型。我的 Todo 模型如下所示: class Todo(models.Model): pr
我正在使用 django-taggit在我的一个项目上,我能够保存标签并将其与特定记录联系起来。现在的问题是如何显示与每条记录相关的标签? 例如,在我的页面上,我想显示一个包含标题和内容的记录,然后在
假设我有一个模型: class Entry(models.Model): ... tags = TaggableManager() 当我在模板中迭代 Entry.objects.all
这是一个模型类 class ModelName(models.Model): (...) pasta = TaggableManager(verbose_name=u'Pasta') 和一个表
假设我有三个标签。我想显示有多少对象链接到它。像这样: 苹果 (3) 橙色 (0) 香蕉 (5) 我如何使它以最简单的方式工作,最好不要在数据库中创建新属性? 我猜我需要遍历所有标签,计算它们,然后把
我正在使用 Django 3.2 和 django-taggit 1.4 我有这样一个模型: class Meal(models.Model): # some fields is_co
有没有人在 haystack 中使用 Django taggit?我们如何使标签字段可被 haystack 索引? 我试过了: class EventIndex(indexes.SearchIndex
假设您有一个数据库,其中包含在 Djano 应用程序后面运行的用户对象并且您想使用 django-taggit 来标记用户对象,以便您可以使用一些方便的过滤来检索子组。 此外,您还有一个仪表板,您希望
我使用 django-taggit-autocomplete,但是在进行方案迁移时,出现错误 ! Cannot freeze field 'main.hotels.tags' ! (this fi
我有一个使用 django-taggit 的模型。我想执行向该模型添加标签的南方数据迁移。但是,.tags 管理器在 South 迁移中不可用,您必须使用 South orm['myapp.MyMod
是否可以通过夹具初始化标签数据,如下所示; [{ "fields": { "name": "tag1" }, "model": "taggit.Tag",
这可能是个愚蠢的问题,但我下载了 Django-taggit 并且文档中提到为我想要关联的每个模型添加一个 TaggableManager 管理器。这很好,但是我“pip-ed”的来自外部应用程序的模
我是一名优秀的程序员,十分优秀!