2011-02-16 21 views
0

は私が助けのために、次の?:Django if field = blank、field = 1を設定しますか?

if field (trying to be saved) == blank, set field = 1. 

感謝を行うには私の私のmodels.pyやadmin.pyファイルのいずれかで条件文を使用することができます。必要ならば明確にするように私に尋ねてください。

答えて

1

モデルの保存メソッドをオーバーライドする必要があります。

def save(self, *args, **kwargs): 
    # this is your model "trying" to be saved, before the "real" 
    # save is called by super below 

    if self.field == 'blank': 
     self.field = 1 
    super(MyModel, self).save(*args, **kwargs) 

http://docs.djangoproject.com/en/dev/topics/db/models/#overriding-predefined-model-methods

あなたadmin.py(その管理者特定の動作ではなく、グローバルモデルの挙動)でそれをやってみたかった場合、あなたのModelAdmin

# code mostly from docs 
class ArticleAdmin(admin.ModelAdmin): 
    def save_model(self, request, obj, form, change): 
     if obj.field == 'blank': 
      obj.field = 1 
     obj.save() 
save_modelを上書きしたいと思います

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_model

関連する問題