django 模型元类的标准文档字符串是啥?

Posted

技术标签:

【中文标题】django 模型元类的标准文档字符串是啥?【英文标题】:What is the standard docstring for a django model metaclass?django 模型元类的标准文档字符串是什么? 【发布时间】:2016-11-30 19:02:02 【问题描述】:

django 中的模型可以带有这样的元类:

class Address(models.Model):
    """Address model."""

    class Meta:
        """Meta McMetaface."""

        verbose_name = "Address"
        verbose_name_plural = "Addresses"

    address_line = models.CharField(max_length=256)
    postcode = models.CharField(max_length=10)

    def __str__(self):
        """Return address without post code."""
        return self.address_line

我的元类充其量只是异想天开。 Python 或 Django 是否有元类的标准文本?

【问题讨论】:

这是一个文档字符串。标准文本将纯粹用于此目的。这也适用于愚蠢的名称或仅重复上面的classdef 行的某些内容。如果没有什么有用的东西可以写,留空。 @KlausD。没有关于它应该如何描述 pep 中类的元性? 【参考方案1】:

为 Meta 编写文档字符串是没有意义的。这是每个模型定义的标准名称,并且在每个模型中都具有相同的含义。只是不要写文档字符串。

【讨论】:

我想要的原因是 Flake8 要求我这样做。我只是很惊讶 PEP 中没有任何条款将其排除在外? 重新配置 Flake8! 工具可以帮助你。如果你不能告诉 Flake8 你想要什么,那么使用 pylint。

以上是关于django 模型元类的标准文档字符串是啥?的主要内容,如果未能解决你的问题,请参考以下文章

探寻Python类的鼻祖——元类

1104课堂小结

Python进阶:一步步理解Python中的元类metaclass

python3 元类编程的一个例子

1.元类介绍/2.自定义元类控制类的行为/3.控制类的实例化行为/4.控制类的实例化行为的应用

理解python的元类