Python 是否可能获取字段的所有参数
我需要的是从字段返回所有参数: 例如:Python 是否可能获取字段的所有参数,python,django,django-models,Python,Django,Django Models,我需要的是从字段返回所有参数: 例如: Class MyClass(models.Model): field = models.Charfield(blank = True, null = True) 我想从MyClass返回字段的所有参数 这里,参数应该是空的和空的。我并没有真正理解获取参数的目的,但我认为您可以使用“vars”。它有点像是“dict”的包装。 由于django模型字段具有“\uuuuu dict\uuuuuuu”属性,“vars”将允许您访问字段的参数,如下所示:
Class MyClass(models.Model):
field = models.Charfield(blank = True, null = True)
我想从MyClass返回字段的所有参数
这里,参数应该是空的和空的。我并没有真正理解获取参数的目的,但我认为您可以使用“vars”。它有点像是“dict”的包装。 由于django模型字段具有“\uuuuu dict\uuuuuuu”属性,“vars”将允许您访问字段的参数,如下所示:
def has_parameter(field_name, parameter_name):
parameter_dict = vars(field_name)
return not parameter_dict.get(parameter_name) == None
如果等于“无”,则表示尚未设置,否则将设置或具有默认值
在您的例子中:>>>>具有_parameterfield _name,'through'我并没有真正理解获取参数的目的,但我认为您可以使用'vars'。它有点像是“dict”的包装。 由于django模型字段具有“\uuuuu dict\uuuuuuu”属性,“vars”将允许您访问字段的参数,如下所示:
def has_parameter(field_name, parameter_name):
parameter_dict = vars(field_name)
return not parameter_dict.get(parameter_name) == None
如果等于“无”,则表示尚未设置,否则将设置或具有默认值
在您的情况下:>>>>具有模型MyModel的\u参数字段\u名称,'through'
您可以使用
然后,可以使用deconstruct方法获取实例化字段时传递给该字段的KWARG
>>> name, path, args, kwargs = field.deconstruct()
>>> print(kwargs)
{u'max_length': 100}
对于模型MyModel
您可以使用
然后,可以使用deconstruct方法获取实例化字段时传递给该字段的KWARG
>>> name, path, args, kwargs = field.deconstruct()
>>> print(kwargs)
{u'max_length': 100}
你是指你设置的所有参数还是所有参数?你试过什么?我可以问一下,为什么需要它们吗?对,事实上,我添加了through参数,并且我需要在一些视图中检查哪些字段具有through参数。当然,这使用了重写模型?因此,具有该参数的模型就是您拥有的createdYes,它是一个被覆盖的模型。但是我不明白如何检查我的字段是否使用了through参数。您是指您设置的所有参数还是所有参数?你试过什么?我可以问一下,为什么需要它们吗?对,事实上,我添加了through参数,并且我需要在一些视图中检查哪些字段具有through参数。当然,这使用了重写模型?因此,具有该参数的模型就是您拥有的createdYes,它是一个被覆盖的模型。但是我不明白如何检查我的字段是否使用through参数。要继续这个示例,它应该是:field=MyModel.\u meta.get\u field'my\u field'。要继续这个示例,它应该是:field=MyModel.\u meta.get\u field'my\u field'。