当前位置: 首页 > 面试题库 >

如何以编程方式获取Django模型字段的max_length?

孟均
2023-03-14
问题内容

假设我有一个类似Django的类:

class Person(models.Model):
    name = models.CharField(max_length=50)
    # ...

如何以编程方式获取max_lengthname字段的值?


问题答案:

Person._meta.get_field('name').max_length会给你这个价值。
但是必须使用 _meta表明这是正常使用中不应该做的事情。

编辑:正如卡尔指出的那样,这种命名具有误导性,并且使用它似乎确实可以接受:http : //www.b-list.org/weblog/2007/nov/04/working-
models/



 类似资料:
  • 问题内容: 给定Django模型,我试图列出其所有字段。我已经看到了使用_meta模型属性执行此操作的一些示例,但是meta前面的下划线是否表示_meta属性是私有属性,不应直接访问?…例如,因为_meta的布局将来可能会更改,并且不是稳定的API? _meta是该规则的例外吗?它是否稳定且可以使用,还是访问它的不正确做法?还是有一种功能或其他方法可以在不使用_meta属性的情况下自省模型的字段?

  • 问题内容: 我定义了一个(最终)继承自的类。我想获取为此模型定义的所有字段的列表。例如,。基本上,我想检索从该类继承的任何内容。 我以为我可以利用来检索这些,但是它返回的列表不包含任何这些字段。看起来Django已经掌握了该类,并添加了其所有魔术属性并去除了实际定义的内容。那么…我如何获得这些领域?它们可能具有为自己的内部目的检索它们的功能? 问题答案: 由于大多数答案已过时,因此我将尝试在Dja

  • 问题内容: 我想从受监视的应用程序内部以编程方式获得等效的输出。我看到可以通过HotSpot诊断Bean触发二进制堆转储,但是我看不到如何获取直方图数据。可能吗 ? 问题答案: 这可能是不是最好的例子/代码,但看看这个 (我认为这仅适用于Hotspot JVM)

  • 问题内容: 基本上,我想获取python解释器的句柄,以便可以传递脚本文件来执行(从外部应用程序执行)。 问题答案: 这适用于Linux和Windows: Python 3.x Python 2.x

  • 问题内容: 我正在执行以下操作: 返回以下内容: 我只想知道此字段是“ URLField”。如何从此输出中提取出来? 注意:我这样做是为了对字段进行验证。例如,如果是url,我想检查它是否格式正确。 问题答案: 如果你这样做: 结果你可能无法获得。 相反,你正在这样做: 其中,作为解释在这里,不调用该方法,它只是指的是方法绑定方法的对象。返回值不是该绑定方法对象的一部分,它是在调用方法时由方法创建

  • 本文向大家介绍Django获取model中的字段名和字段的verbose_name方式,包括了Django获取model中的字段名和字段的verbose_name方式的使用技巧和注意事项,需要的朋友参考一下 定义模型: 获取字段名和verbose_name: 注:appname是model所在app的名字,modelname是model的名字 如果在view中执行get_model.filed('

  • 问题内容: 当我仅知道字段名称和模型名称(均为纯字符串)时,我试图获取模型内部字段上的类信息。这怎么可能? 我可以动态加载模型: 现在我有一个字段-‘myfield’-如何获取该字段的类? 如果字段是关系字段-如何获取相关字段? 谢谢一群! 问题答案: 您可以使用模型的属性来获取字段对象,并且可以从字段中获取关系以及更多其他信息,例如,考虑一个雇员表,该雇员表具有一个部门表的外键 来自django

  • 问题内容: 我有一个表格,其中的两个字段根据需要在我不希望出现时也出现。这是来自models.py的表格 在实际的电路模型中,字段的定义如下: 我的views.py在这里: 我该怎么做,以便不需要这两个字段? 问题答案: 如果您不想修改模型中字段的空白设置(这样做会破坏管理站点中的常规验证),则可以在Form类中执行以下操作: 重新定义的构造函数不会损害任何功能。