如何在Django中获取模型实例的外键表的名称?

问题描述 投票:0回答:2

我想获取作为模型实例的外键字段的表的名称。例如,我知道我可以通过使用instance._meta.concrete_fields或通过获取instance._meta.get_fields中的字段名称来获取有关字段的数据,但是我对获取外键字段表名称一无所知。我想知道您是否能帮助我。

django django-models
2个回答
0
投票

您可以通过_meta属性查询相关模型的Optionsdb_table)API:

<related_field>.related_model._meta.db_table

例如:

for field in instance._meta.concrete_fields:
    if isinstance(field, models.ForeignKey):
        print(field.related_model._meta.db_table)

-1
投票

如上所述,您可以通过<model>._meta.get_fields()访问字段。如果要过滤它们以仅包括ForignKey字段,则可以使用简单的过滤:

for item in Document._meta.get_fields():
    if isinstance(item, django.db.models.fields.related.ForeignKey):
        print(item)
© www.soinside.com 2019 - 2024. All rights reserved.