0
Я кодирую продукт, используя Python Dexterity Type, и у меня есть одно поле shema.Datetime (см. Ниже), и я хочу установить время по умолчанию, когда форма была создана в Plone.Как установить значение по умолчанию zope.schema.datetime?
Я пробовал использовать Zope DateTime и Python DateTime и не работает. У docs zope schema нет примеров для этого.
# I'm tried use this options with DateTime
from DateTime import DateTime
# DateTimeNow = DateTime()
# DateTimeNow = DateTime().asdatetime()
# And tried use datetime
import datetime
DateTimeNow = datetime.datetime.now()
class IDigitalFile(model.Schema):
...
uploded_at = schema.Datetime(
title=_(u"Data de Upload"),
required=True,
defaultFactory=DateTimeNow,
)
Итак, как я установил значение по умолчанию в этом случае?
Попробуйте использовать '' DateTimeNow = datetime.datetime.now'' без скобок. – turkus
Что сказал @turkus, или, другими словами, передать ему * заводское значение, вызывающее, производя значение * вместо * значения *. Из [plone docs] (http://docs.plone.org/external/plone.app.dexterity/docs/advanced/defaults.html): «DefaultFactory - это функция, которая будет вызываться, когда форма добавления загружается в определить значение по умолчанию. " –
@turkus Я пытался использовать n мой вывод 'TypeError: Ошибка при вызове базовых метаклассов unhashable type: 'list' > /home/jafar/training/buildout/eggs/zope.interface-3.6.7-py2.7- linux-x86_64.egg/zope/interface/interface.py (415) get() ' –