Django:获取外键类型

标签 django django-models foreign-keys foreign-key-relationship

有没有办法获取我的 key 相关模型的外键类型?目前,我正在尝试类似的事情:

def __init__(self, *args, **kwargs):
        super(JobOrderSupplementForm, self).__init__(*args, **kwargs)
        for field in self.fields:
            if type(self.fields[field]) == TypedChoiceField:
                fieldOption = <Whatever type key points to>.get(id=self.__dict__['initial'][field])
                if not fieldOption.isActive:
                    ...Do something to the choices...


我正在尝试以编程方式设置将在我的表单中显示的可用选项。到目前为止,我只能弄清楚下面的这段代码让我与外键对象建立了某种关系......

self.fields[field].__dict__['coerce']
>>> <bound method ForeignKey.to_python of <django.db.models.fields.related.ForeignKey object at 0x01609EF0>>


任何帮助将不胜感激。

最佳答案

弄清楚了......这是一个非常复杂和乏味的目录和类型过程,但是,这一行将让我获得与外键相关的模型类型:

    getattr(type(self.instance), field).field.rel.to

关于Django:获取外键类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1930140/

相关文章:

python - GraphQL + Django : resolve queries using raw PostgreSQL query

python - 如何从 Django 中的多对多中间模型中进行选择?

python - 将 ManyToMany 字段从一个模型实例复制到另一个模型实例

Django Mongodb 引擎 : Authentication, session 和用户模型

python - 我的旧项目的 Django 1.7 迁移问题

django 内联表单集,具有嵌套表单的复杂模型

java - 如何从 sqlite 和外键检索数据

SQL 删除表并重新创建并保留数据

python - 如何将不同函数中的两个数据帧写入django中的一个excel文件中

mysql好友系统、索引、外键、主键