如何自省Django模型字段?

如何自省Django模型字段?,第1张

如何自省Django模型字段

您可以使用模型的

_meta
属性来获取字段对象,并且可以从字段中获取关系以及更多其他信息,例如,考虑一个雇员表,该雇员表具有一个部门表的外键

In [1]: from django.db import modelsIn [2]: model = models.get_model('timeapp', 'Employee')In [3]: dep_field = model._meta.get_field_by_name('department')In [4]: dep_field[0].target_fieldOut[4]: 'id'In [5]: dep_field[0].related_modelOut[5]: <class 'timesite.timeapp.models.Department'>

来自django / db / models / options.py

def get_field_by_name(self, name):    """    Returns the (field_object, model, direct, m2m), where field_object is    the Field instance for the given name, model is the model containing    this field (None for local fields), direct is True if the field exists    on this model, and m2m is True for many-to-many relations. When    'direct' is False, 'field_object' is the corresponding RelatedObject    for this field (since the field doesn't have an instance associated    with it).    Uses a cache internally, so after the first access, this is very fast.    """


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5645800.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存