Tuesday, July 17, 2012

Django form save failed.

Hi all.
I want to extend my "/admin/auth/group/add/" interface.
Now widget is show correctly, but can't write into DB.
Show my code ...

models.py:
# Set default encoding, 2012/06/26, add by suskind
import sys
reload(sys)
sys.setdefaultencoding('utf8')

from django.db import models
from django.contrib.auth.models import Group, User

class UserGroup(models.Model):
        groups = models.OneToOneField(Group)
        parent = models.DecimalField(max_digits = 8, decimal_places = 1)

admin.py:
from django.contrib.auth.admin import GroupAdmin, UserAdmin
from django.db import models
from django.contrib import admin
from django.contrib.auth.models import Group, User
from forms import RegisterForm
from .models import UserGroup
from forms import UserGroupForm

class UserGroupAdmin(GroupAdmin):
        form = UserGroupForm

admin.site.unregister(Group)
admin.site.register(Group, UserGroupAdmin)

forms.py:
from django.contrib.auth.models import User
from django import forms
from .models import UserGroup

class UserGroupForm(forms.ModelForm):
        parent = forms.DecimalField(max_digits = 8, decimal_places = 1)

        class Meta:
                model = UserGroup

        def save(self, commit=True):
                group = super(UserGroupForm, self).save(commit=False)
                group.parent = self.cleaned_data["parent"]
                if commit:
                        group.save()
                return group


--
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/P9qLUA9s9P4J.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment