我特别谈论Tag模型,我没有太多经验。代码如下:
@register_snippet
class ArticleTag(index.Indexed,Tag):
class Meta:
proxy=True
search_fields = [
index.SearchField('name', partial_match=True),
index.SearchField('slug', partial_match=True),
]
Tag模型有两个字段,'name'和'slug'。但是现在我想添加一个名为'type'的第三个自定义字段,它只是一个CharField。
我尝试像这样修改它:
@register_snippet
class ArticleTag(index.Indexed,Tag):
class Meta:
proxy=True
search_fields = [
index.SearchField('name', partial_match=True),
index.SearchField('slug', partial_match=True),
]
merge_to = models.CharField(max_length=500, blank=True, null=True)
panels = [
FieldPanel('name'),
FieldPanel('slug'),
FieldPanel('type'),
]
然而,服务器产生:
ERRORS:
?: (models.E017) Proxy model 'ArticleTag' contains model fields.
我如何实现我想要做的事情?
答案 0 :(得分:0)
要从dropzone
继承您的标记气体,您必须创建自定义直通模型。 disableClick
文档包含an example on how to create custom tags。
答案 1 :(得分:0)
我们可以通过以下技巧来做到这一点:P
class Model(object):
'''
Skip extra field validation "models.E017"
'''
@classmethod
def _check_model(cls):
errors = []
return errors
@register_snippet
class ArticleTag(Model, index.Indexed,Tag):
class Meta:
proxy=True