gpt4 book ai didi

python - 对象未实现 IField

转载 作者:行者123 更新时间:2023-11-28 21:29:13 24 4
gpt4 key购买 nike

我有以下代码来修补文件夹:

ATFolderSchema = ATContentTypeSchema.copy() + \
ConstrainTypesMixinSchema.copy() + NextPreviousAwareSchema.copy()
finalizeATCTSchema(ATFolderSchema, folderish=True, moveDiscussion=False)

field = StringField("rafal_shortdescription",
schemata = "default",
widget = StringWidget(
label = _(u"label_shortdescription",
default=u"Short Description"),
description = _(u"help_shortdescription",
default=u"Used in tabs."),
),
),

ATFolderSchema.addField(field)

最后一行抛出:

 File "/home/rafal/projects/vidensportalen_v2/eggs/Products.Archetypes-1.6.4-py2.6.egg/Products/Archetypes/Schema/__init__.py", line 198, in _validateOnAdd
raise ValueError, "Object doesn't implement IField: %r" % field
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/home/rafal/projects/vidensportalen_v2/parts/instance/etc/site.zcml", line 12.2-12.39
ZopeXMLConfigurationError: File "/home/rafal/projects/vidensportalen_v2/eggs/Plone-4.0.2-py2.6.egg/Products/CMFPlone/meta.zcml", line 39.4-43.10
ValueError: Object doesn't implement IField: <Field rafal_shortdescription(string:rw)>

知道为什么吗?

最佳答案

我建议您使用archetypes.schemaextender而不是使用补丁来改变 Archetypes 内容类型。

该软件包包含有关如何实现附加字段的文档。

至于您的错误,您创建了一个包含一个元素、一个字段的元组:

>>> example = 1,
>>> print example
(1,)

删除结尾的逗号,您的代码应该按预期工作。

关于python - 对象未实现 IField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com