我最近開始研究一個長期運行的MySQL支持的Django網站。代碼大部分都是乾淨的,寫得很好,除了數據庫中的一個補丁似乎已經倉促應用。Django ORM中的別名
具體而言,其中一個型號被命名爲tbl_Badge_data
。根據適用於網站其他部分的命名慣例,此型號應命名爲Badge
。
不幸的是,已經有太多的內建錯誤名稱,並且改變現有腳本(這些腳本包括Django queryset操作以及SQL語句)是不可行的。替換所有錯誤名稱的實例是不可能的,因爲並非所有的代碼都屬於我們;還有其他用戶依賴這些數據。
是否有任何方法可以將Badge
別名爲tbl_Badge_data
以便所有將來的開發都使用正確的名稱?如果是的話,這將如何影響基礎表的名稱?如果不是,那麼在不引入性能影響的情況下處理類似事情的最佳方式是什麼(例如,「代理表」或「代理模型」是一對一映射)?正如你所想象的,我的團隊不想在這個非問題上投入時間(也許有理由)要我忽略這個問題。
爲什麼不在你的models.py中添加'Badge = tbl_Badge_data''(在你定義了''tbl_Badge_data''類之後),然後每當你做一個''from foo.models import Badge''想用它嗎? – Serafeim