python Django 反向訪問器的外鍵沖突解決
我有兩個繼承一個基類的Django模型:
- Request
- Inquiry
- Analysis
請求有兩個外鍵到內(nèi)置用戶模型。
create_user = models.ForeignKey(User, related_name='requests_created')
assign_user = models.ForeignKey(User, related_name='requests_assigned')
由于某種原因,我得到的錯誤
“Analysis.assign_user”的反向訪問器與“Inquiry.assign_user”的反向訪問器沖突。
我讀過的所有內(nèi)容說,設(shè)置related_name應(yīng)該防止沖突,但我仍然得到相同的錯誤。任何人都能想到為什么會發(fā)生這種情況?謝謝!
related_name將確保字段不會彼此沖突,但您有兩個模型,每個模型都有這兩個字段。你需要把每個具體模型的名字,你可以做一些特殊的 string substitution:
create_user = models.ForeignKey(User, related_name='%(class)s_requests_created')
補充知識:django related_name禁用反向映射
官方文檔處理辦法:

直接將related_name賦值為加號或以加號結(jié)尾的字符串,即可實現(xiàn)禁用反向映射
以上這篇python Django 反向訪問器的外鍵沖突解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python celery beat實現(xiàn)定時任務(wù)的示例代碼
在日常工作中,我們常常會用到需要周期性執(zhí)行的任務(wù),本文主要介紹了python celery beat實現(xiàn)定時任務(wù)的示例代碼,具有一定的參考價值,感興趣的可以了解一下2024-03-03
解讀Tensorflow2.0訓(xùn)練損失值降低,但測試正確率基本不變的情況
這篇文章主要介紹了Tensorflow2.0訓(xùn)練損失值降低,但測試正確率基本不變的情況,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
python實現(xiàn)在pandas.DataFrame添加一行
下面小編就為大家分享一篇python實現(xiàn)在pandas.DataFrame添加一行,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Pandas庫中dataframe.corr()函數(shù)的使用
dataframe.corr()是Pandas庫中的一個函數(shù),用于計算DataFrame中各列之間的相關(guān)系數(shù),本文主要介紹了Pandas庫中dataframe.corr()函數(shù)的使用,具有一定的參考價值,感興趣的可以了解一下2024-07-07

