[英]'ManyToOneRel' object has no attribute 'parent_model' error with django chartit
[英]Code is giving me an error: 'ManyToOneRel' object has no attribute 'related_model'
如何在 Django 中檢索 model 的所有外鍵列表並訪問它們對應的模型?
我正在嘗試遍歷 Django 中 model 的所有外鍵,並為每個外鍵訪問相應的 model。 這是我的代碼:
from django.db import models
class MyModel(models.Model):
# model fields
for field in MyModel._meta.get_fields():
if isinstance(field, models.ForeignKey):
related_model = field.related_model
但是,這段代碼給我一個錯誤:“ManyToOneRel”object 沒有屬性“related_model”。 我怎樣才能解決這個問題並成功檢索所有外鍵的列表及其 MyModel 的相應模型?
您可以通過以下方式訪問它:
from django.db.models.fields.reverse_related import ManyToOneRel
for field in MyModel._meta.get_fields():
if isinstance(field, models.ForeignKey):
if isinstance(field, ManyToOneRel):
related_model = field.model
else:
related_model = field.related_model
ManyToOneRel
是一個關系,它是另一個ForeignKey
的外鍵,它以您的ForeignKey
(此處MyModel
)為目標,因此是“反向”中的外鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.