パスワードをハッシュ化して DB に格納する

Django 始めて2日目です. 以下のソースで掲題の件が動いていますが、書き方が正しいか分からないので晒しておきます. コメントを求む.

from django import forms
from django.contrib import admin
from models import User
from hashlib import sha1

class UserForm(forms.ModelForm):
    plain_password = forms.CharField(widget = forms.PasswordInput, required = False)

    def save(self, commit = True):
        user = super(UserForm, self).save(commit = False)
        if self.cleaned_data['plain_password'] != '':
            user.password = sha1(self.cleaned_data['plain_password']).hexdigest()
        if commit:
            user.save()
        return user

    class Meta:
        model = User

class UserAdmin(admin.ModelAdmin):
    form = UserForm

admin.site.register(User, UserAdmin)