0

我想知道是否有一种以编程方式查找分配给任何模型上的字段的默认值的方法,我有模型实例和字段名称。

在下面的模型中,我必须从 u_value、allow_profile 和 disabled 中获取默认值,如果它们为 Null 才能正确保存数据。数据库是火鸟

例如型号:

class Fitting(models.Model):
    uuid                         = UUIDField(primary_key=True)
    bought_in_control_panel_file = models.ForeignKey(BoughtInControlPanelFile, db_column='bought_in_control_panel_file_id',null=True, blank=True)
    name                         = models.CharField(_('name'),null=True, blank=False,max_length=255)                           
    code                         = models.CharField(_('Code'),null=True, blank=True,max_length=255)
    fire_rating                  = models.ForeignKey(FireRating, db_column='fire_rating_id',null=True, blank=True)
    u_value                      = models.FloatField(_('U-value'),default=0)
    acoustic_rating              = models.FloatField(_('Acoustic Rating'),default=0)
    allow_profile                = models.BooleanField(default=0)
    disabled                     = models.BooleanField(default=0)
    date_time_updated            = models.DateTimeField(null=True, blank=True, auto_now=True)
4

2 回答 2

3

model_field.get_default() 返回分配给模型字段的默认值

例子:

model = Polls.objects.all()
for model_field in model:
    print model_field.get_default()
于 2012-09-06T11:46:34.570 回答
0

当您保存模型实例且未设置所需的非空字段时,Django 会自动将其保存为默认值。

当没有明确设置时,您的对象不是以默认值保存在数据库中吗?

属性的值default可以是保存新对象时调用的函数。您可能也想尝试一下。

于 2012-09-06T12:20:43.660 回答