If your application uses models which have parent-child relationships, you may wish to set the parent :ref:`option <options>` to provide a more appropriate file hierarchy and cascading querysets.
For example, if you have a CMS application with a Page model which may include Link objects on each page, you could set your Link Options like:
class LinkOptions(Options): parent = 'page' # name of ForeignKey field to Page # other options here...
Note that the parent model must also be registered with dbgettext.
This has two benefits:
- child objects will only be translated if their parent is (so, for example, links from an unpublished Page will not be included if the parent's translate-if Option is set appropriately)
- :doc:`dbgettext_export <dbgettext_export>` will append child output to the parent's path. For example: locale/dbgettext/cms/page/about_us/contact_us/link_13/ instead of locale/dbgettext/cms/link/link_13/ -- this provides additional context to the translator
Note that the above example uses a customised get_path_identifier Option for Page to provide nicer a slug-based path (about_us/contact_us instead of page_123).