gpt4 book ai didi

python - 列出所有可为空的 Django 模型字段

转载 作者:行者123 更新时间:2023-12-01 13:12:19 26 4
gpt4 key购买 nike

我有一个包含可为空和不可为空字段的模型。让我们考虑一个例子:

from django.db import models

class MyModel(models.Model):
field_1 = models.CharField(null=False)
field_2 = models.CharField(null=True)
field_3 = models.ForeignKey(SomeOtherModel, null=True)
field_4 = models.ForeignKey(YetAntherModel, null=False)

如何从 MyModel 类中获取可为空的字段名称列表(如下例所示)?

['field_2', 'field_3']

现在我有硬编码的映射,我需要将其与模型更改一起更新,所以我想要一些通用方法。

任何想法都会得到应用。

最佳答案

您可以遍历字段,并过滤 null 参数,例如:

[f for f in MyModel._meta.get_fields() <b>if f.null</b>]

或者如果你只对字段name感兴趣(而不是字段),那么你可以这样写:

[f<b>.name</b> for f in MyModel._meta.get_fields() if f.null]

对于给定的 MyModel,这给了我们预期的结果:

>>> [f.name for f in MyModel._meta.get_fields() if f.null]
['field_2', 'field_3']

关于python - 列出所有可为空的 Django 模型字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59178008/

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