<p dir="auto">On the commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/sqlalchemy/sqlalchemy/commit/4376c2e5b016e8dfec7bc1b0d2ebbebae737c063/hovercard" href="https://github.com/sqlalchemy/sqlalchemy/commit/4376c2e5b016e8dfec7bc1b0d2ebbebae737c063"><tt>4376c2e</tt></a>, Adding a backref into a <code class="notranslate">viewonly</code> relationship was deprecated to avoid the issue where a backref one2many collection is modified, but the respective many2one relationship cannot be assigned.</p>
<p dir="auto">However, if the <code class="notranslate">backref</code> is <code class="notranslate">lazy="dynamic"</code>, there is no risk of the collection in the one2many side of the relationship being modified in this case, so forgive me if I misunderstood the deprecation, but I think it is unwarranted in this specific case.</p>
<p dir="auto">Conversely, if the <code class="notranslate">backref</code> is <code class="notranslate">lazy="select"</code> but both sides of the relationship are <code class="notranslate">viewonly</code>, then there should also be no harm, hence no warning, but you might consider this a separate issue.</p>
<p dir="auto">Here is a simple example file showing the warning that I think is unwarranted (<code class="notranslate">.txt</code> added so it can be attached to a github issue):<br>
<a href="https://github.com/sqlalchemy/sqlalchemy/files/4429905/test_backref.py.txt">test_backref.py.txt</a></p>
<p dir="auto"><strong>Migrated issue, originally created by Anonymous</strong></p>
<p dir="auto">The information_schema view and all its columns are assumed to be in lower case. However, if the database is set up to be case sensitive, then none of these will be accessible to the user and so nothing works.</p>