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 模型元类的标准文档字符串是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Django-models class Meta:元类

Ruby 与 Python 元类的类比是啥?

django模型的字段中字符串参数的含义是啥?

Django:调用元类库时出错

Django 1.6 分支中发生了啥影响了 Manager 元类的工作方式?

子类 Django ModelBase(Django 模型的元类)