0

モデルのフィールドに割り当てられたデフォルトをプログラムで見つける方法があるかどうかを知りたいのですが、モデル インスタンスとフィールド名があります。

以下のモデルでは、データを正しく保存するために、u_value、allow_profile、および null の場合は無効からデフォルトを取得する必要があります。データベースは Firebird です

例:

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は、モデルインスタンスを保存し、必要なnull以外のフィールドを設定していない場合、モデルインスタンスをデフォルト値で自動的に保存します。

明示的に設定されていない場合、オブジェクトはデフォルト値でDBに保存されませんか?

プロパティの値はdefault、新しいオブジェクトが保存されるときに呼び出される関数にすることができます。あなたもそれを試してみたいかもしれません。

于 2012-09-06T12:20:43.660 に答える