列出所有可为null的Django模型字段

时间:2019-12-04 14:11:45

标签: python django django-models

我有一个同时包含可空字段和不可空字段的模型。我们来看一个例子:

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']

现在,我已经对映射进行了硬编码,需要与模型更改一起进行更新,因此我想使用一些通用方法。

任何想法都会被应用。

1 个答案:

答案 0 :(得分:3)

您可以遍历字段,并过滤ggplot(trythis3, aes(x = Month, Temperature, group = Year)) + geom_line() + geom_point(aes(color = color)) + geom_point(aes(color = color1)) + facet_wrap(~Year) + scale_color_manual(values = c(NA,c("red", "blue"))) 参数,例如:

null

或者,如果您仅对字段 name (而不是字段)感兴趣,则可以编写:

[f for f in MyModel._meta.get_fields() if f.null]

对于您给定的[f.name for f in MyModel._meta.get_fields() if f.null],这给了我们期望:

MyModel