<p>Not sure I understand about polymorphism - wouldn't it make more sense in this case to go with a separate model for reports? If you want to reference from the report the thing it reports and rely on that reference then there's a standard problem of "what if the referenced data goes away?", e.g. someone removes the diary entry or renames it for example.</p>
<p>If you had a separate model then you can copy the data to the report object during the reporting process. Yes it means redundancy but stuff like audit trail or reporting always kind of calls for reduncancy, otherwise it seems pointless or easy to trick.</p>
<p>Or perhaps I am too tired and you meant polymorphism in some other part of this.</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/openstreetmap/openstreetmap-website/issues/841#issuecomment-63870638">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABWnLdhri_rkR27C1h9KhcA20sGm-An-ks5nPkFmgaJpZM4C-rMw.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="url" href="https://github.com/openstreetmap/openstreetmap-website/issues/841#issuecomment-63870638"></link>
<meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>