============================================ The ``lino.api.dd`` module (database design) ============================================ See also :mod:`lino.api` .. module:: lino.api.dd Global application attributes ============================= .. data:: plugins Shortcut to :attr:`lino.core.site.Site.plugins`. .. data:: logger Shortcut to the main Lino logger. Utilities ========= .. function:: schedule_often(every=10): Decorator which schedules the given function to be run "often" (default every 10 seconds). Does nothing if `schedule <https://pypi.python.org/pypi/schedule>`__ is not installed. See :ref:`dev.linod`. .. function:: schedule_daily(at="20:00"): Decorator which schedules the given function to be run "daily" (by default at 20:00). Does nothing if `schedule <https://pypi.python.org/pypi/schedule>`__ is not installed. See :ref:`dev.linod`. Date related ============ .. function:: today(*args, **kwargs) Shortcut to :func:`lino.core.site.Site.today`. .. function:: demo_date(*args, **kwargs) Shortcut to :func:`lino.core.site.Site.demo_date`. Deprecated; it is recommented to call :func:`today` instead .. function:: fds(d) .. function:: fdf(d) .. function:: fdl(d) .. function:: fdm(d) Shortcuts to functions of same name in :mod:`lino.utils.format_date`. :func:`fds` adds support for class:`IncompleteDate :<lino.fields.IncompleteDate>`. Actors ====== .. class:: Table Shortcut to :class:`lino.core.dbtables.Table` .. class:: Choicelist Shortcut to :class:`lino.core.choicelists.ChoiceList` .. class:: VirtualTable Shortcut to :class:`lino.core.tables.VirtualTable` .. class:: VentilatingTable Shortcut to :class:`lino.core.choicelists.ChoiceList` .. class:: Frame Shortcut to :class:`lino.core.frames.Frame` Application: - :attr:`decfmt <lino.core.site.Site.decfmt>` - :attr:`str2kw <lino.core.site.Site.str2kw>` - :attr:`today <lino.core.site.Site.today>` - :attr:`strftime <lino.core.site.Site.strftime>` - :attr:`is_abstract_model <lino.core.site.Site.is_abstract_model>` - :attr:`is_installed <lino.core.site.Site.is_installed>` - :attr:`add_welcome_handler <lino.core.site.Site.add_welcome_handler>` - :attr:`build_media_url <lino.core.site.Site.build_media_url>` - :attr:`get_default_language <lino.core.site.Site.get_default_language>` Extended Fields: - :class:`CharField <fields.CharField>` - :class:`IncompleteDateField <lino.core.fields.IncompleteDateField>` - :class:`PasswordField <lino.core.fields.PasswordField>` - :class:`MonthField <lino.core.fields.MonthField>` - :class:`PercentageField <lino.core.fields.PercentageField>` - :class:`QuantityField <lino.core.fields.QuantityField>` - :class:`PriceField<lino.core.fields.PriceField>` - :class:`CustomField <lino.core.fields.CustomField>` - :class:`RecurrenceField <lino.core.fields.RecurrenceField>` - :class:`DummyField <lino.core.fields.DummyField>` - :func:`ForeignKey <lino.core.fields.ForeignKey>` Virtual Fields: - :class:`Constant <lino.core.fields.Constant>` and :class:`@constant <lino.core.fields.constant>` - :class:`DisplayField <lino.core.fields.DisplayField>` and :class:`@displayfield <lino.core.fields.displayfield>` - :class:`VirtualField <lino.core.fields.VirtualField>` and :class:`@virtualfield <lino.core.fields.virtualfield>` - :class:`HtmlBox <lino.core.fields.HtmlBox>` Layouts: - :class:`DetailLayout <lino.core.layouts.DetailLayout>` - :class:`Panel <lino.core.layouts.Panel>` - :class:`FormLayout <lino.core.layouts.FormLayout>` no longer supported. Application code should use either InsertLayout or DetailLayout instead. Utilities: - :func:`obj2str <lino.core.utils.obj2str>` - :func:`obj2unicode <lino.core.utils.obj2unicode>` - :func:`range_filter <lino.core.utils.range_filter>`, :func:`inrange_filter <lino.core.utils.inrange_filter>` - :func:`full_model_name <lino.core.utils.full_model_name>` - :func:`fields_list <lino.core.fields.fields_list>` - :func:`chooser <lino.utils.choosers.chooser>` - :class: `ParameterPanel <lino.core.utils.ParameterPanel>` Inter-app relations: - :func:`resolve_field <lino.core.utils.resolve_field>` - :func:`resolve_model <lino.core.utils.resolve_model>` - :func:`resolve_app <lino.core.utils.resolve_app>` - :func:`update_field <lino.core.inject.update_field>` - :func:`inject_field <lino.core.inject.inject_field>` - :func:`inject_action <lino.core.inject.inject_action>` - :func:`update_model <lino.core.inject.update_model>` - :func:`inject_quick_add_buttons <lino.core.inject.inject_quick_add_buttons>` Signals: - See :ref:`lino.signals` Actions: - :class:`Action <lino.core.actions.Action>` - :class:`ChangeStateAction <lino.core.workflows.ChangeStateAction>` - :class:`MergeAction <lino.core.merge.MergeAction>` - :class:`ShowSlaveTable <lino.core.actions.ShowSlaveTable>` Permissions: - :class:`UserGroups <lino.modlib.users.mixins.UserGroups>` - :class:`UserLevels <lino.modlib.users.mixins.UserLevels>` Workflows: - :class:`Workflow <lino.core.workflows.Workflow>` - :class:`State <lino.core.workflows.State>`