gpt4 book ai didi

django - 计算模型有多少个字段

转载 作者:行者123 更新时间:2023-12-02 08:22:16 25 4
gpt4 key购买 nike

我想知道是否有办法知道模型包含多少个字段。

示例:

class Post(models.Model):
title = models.TextField()
body = models.TextField()
sub_title = models.TextField()
summary = models.TextField()

我可以计算它,但我想知道是否有一个内置方法可以让我这样做。

理想情况下,查询/代码是:

Post.number_of_fieds-->输出--> 4

这样的事情存在吗?

最佳答案

据我所知,没有内置的,您可以通过以下方式获取字段:

>>> len(Post._meta.fields)
5

我们可以在 BaseModel 类上定义它并对其进行子类化,以使该函数可用于所有子类:

class BaseModel(models.Model):

class Meta:
abstract = True

@classmethod
def <b>number_of_fields</b>(cls):
return len(cls._meta.fields)

class Post(<b>BaseModel</b>):
title = models.TextField()
body = models.TextField()
sub_title = models.TextField()
summary = models.TextField()

.fields 返回在该模型上定义的字段的 ImmutableList。我们也可以使用 .get_fields() 来考虑针对该模型的关系。

然后我们可以这样查询:

>>> Post.number_of_fields()
5

但请注意,这将返回 5,因为模型此处有一个(隐式)主键。

关于django - 计算模型有多少个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57208157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com