gpt4 book ai didi

plone - 原型(prototype).schemaextender : possible to have default_method

转载 作者:行者123 更新时间:2023-12-02 08:48:31 25 4
gpt4 key购买 nike

Archetypes API 提供 default_method() 以编程方式填充初始值。

但是,由于这是一个类方法,它不适用于archetypes.schemaextender。扩展器的等效方法是什么?

最佳答案

如果没有 field.default 或 field.default_method,您可以使用 IFieldDefaultProvider 适配器。请参阅 Archetypes.Field.Field 类中的这段代码,getDefault 方法:

if not self.default:
default_adapter = component.queryAdapter(instance, IFieldDefaultProvider, name=self.__name__)
if default_adapter is not None:
return default_adapter()

还有 IFieldDefaultProvider:

class IFieldDefaultProvider(Interface):
"""Register a named adapter for your content type providing
this interface, with a name that is equal to the name of a
field. If no default or default_method is set on that field
explicitly, Archetypes will find and call this adapter.
"""

def __call__():
"""Get the default value.

关于plone - 原型(prototype).schemaextender : possible to have default_method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10542486/

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