Hi people, I am having some problem to validate a data in my application. I will try to simply the model in here to help you guys to understand the problem. I have 2 models:
class Clip(models.Model):
is_approved = models.BooleanField(default=False)
language = models.ForeignKey(Language)
class ClipDescription(models.Model):
clip = models.ForeignKey(Clip)
text = models.TextField()
language = models.ForeignKey(Language)
I am editing via ModelAdmin. I defined a ClipModelAdmin class as above
(simplified):
class ClipAdmin(admin.ModelAdmin):
inlines = [
ClipDescriptionInline
]
So, as you can see, both Clip and ClipDescription are edited in the same
page (using the 'inlines' feature).
But the rule is: if the user trigger the 'Save' action, the attribute
Clip.is_approved can be True only if there is a ClipDescription instance
associated to the Clip instance, having the same language. For example, if I
have a clip with id=1, language=english and is_approved=True, it can be
saved only if there is a clip description with clip_id=1, language=english.
If not, I want to show the error message 'Cannot approve this clip without
having a description in English' in the form.
I have already read the official documentation and tried to work with
validators, tried to define a ModelForm and its clean_is_approved method,
among other workarounds. And I still couldn't make this work. The problem is
at the clean_is_approved context I couldn't figure out how to get access to
the form data that is being entered at that moment, to retrieve the Clip
descriptions.
I don't if I was clear enough, I can give more details. Any ideas and
suggestions will be very appreciated.
Thank you very much for your attention.
Kind regards,
Gabriel
Gabriel de Carvalho Nogueira Reis
Software Developer
+44 7907 823942
-- 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.

