I am working on an application that includes the following in
models.py:

class UserEmail(models.Model):
    email = models.EmailField("email address", unique=True,
                editable=False)
    user = models.ForeignKey(UserRegistration)

    # an email address can only be associated with one user, and can
never
    # be deleted
    # once assigned to a user, it can be shifted to another user only
by
    # manual intervention by an administrator

    def delete(self):
        "Deletion of email addresses is not permitted"
        warnings.warn("Attempt to delete registered email %s
rejected."
                      % self.email)

    def __str__(self):
        return self.email

    class Admin:
        pass

Basically, I want to keep track of every email address that has ever
been registered with my app, to prevent duplication.  By overriding
delete(), I prevent any address from being removed from the database,
but I also have to prevent editing the address once it has been
registered.  The problem is that "editable=False" works too well -- it
prevents an admin from editing an existing address, but also prevents
them from adding new ones.  Is there a way to set up my model so that
the administrator can enter new email addresses for a user, but cannot
change the existing ones?

Russ


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to