I have a UserProfile related to auth's User model with a couple of
extra date fields, start_date and end_date. I would like one and only
one UserProfile that is editable inline with the parent User model in
my Admin app. This part is working, but I would also like to do custom
validation on the date fields in UserProfile so that start_date <
end_date and also make sure that the lone UserProfile does not have a
delete checkbox in the Admin. Here is a bit of the code:
models.py:
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
start_date = models.DateField()
end_date = models.DateField()
admin.py:
class UserProfileInlineFormSet(BaseInlineFormSet):
def __init__(self, *args, **kwargs):
super(UserProfileInlineFormSet, self).__init__(self, *args,
**kwargs)
self.can_delete = False
# Validate end_date > start_date
def clean(self): # ?
pass
class UserProfileInline(admin.TabularInline):
model = UserProfile
fk_name = 'user'
max_num = 1
formset = UserProfileInlineFormSet
class MyUserAdmin(admin.UserAdmin):
inlines = [UserProfileInline, ]
The docs explain how to do custom validation on a single ModelForm,
but I'm having trouble abstracting that to an inline formset. I
started with trying to define my own formset in the UserProfileInline
class, but I'm not clear on what method to override in order to do the
validation. Any tips or pointers?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---