#9393: Overridden inherited model fields being duplicated in forms
---------------------------+------------------------------------------------
 Reporter:  terpsquared    |       Owner:  nobody    
   Status:  new            |   Milestone:            
Component:  Uncategorized  |     Version:  SVN       
 Keywords:                 |       Stage:  Unreviewed
Has_patch:  0              |  
---------------------------+------------------------------------------------
 Likely related to (but distinct from) #9392, and possibly #9371.

 Given an inherited model of the form:

 {{{
 from django.db import models
 from django.contrib.auth.models import User, UserManager
 from django.utils.translation import ugettext_lazy as _
 from datetime import datetime


 class Customuser(User):
     username = models.CharField(_('customer id'), max_length=30,
 unique=True, help_text=_("Required. 30 characters or fewer. Alphanumeric
 characters only (letters, digits and underscores)."))
     email_id = models.EmailField(_('e-mail address'), blank=True,
 null=True, unique=True, db_index=True)

     def __unicode__(self):
         return u'%s' % self.username

     # Use UserManager to get the create_user method, etc.
     objects = UserManager()
 }}}

 A form specifying the inherited field "username" will display the username
 field twice during output. For example,

 {{{
 from django import forms
 from django.forms import ModelForm

 class CustomForm1(ModelForm):
     class Meta:
         model = Customuser
         fields = ('username')
 }}}

 will result in the following html output from the form:

 {{{
 <tr><th><label for="id_0-username">Customer id:</label></th><td><input
 id="id_0-username" type="text" name="0-username" maxlength="30" /><br
 />Required. 30 characters or fewer. Alphanumeric characters only (letters,
 digits and underscores).</td></tr>
 <tr><th><label for="id_0-name">Name:</label></th><td><input id="id_0-name"
 type="text" name="0-name" maxlength="100" /></td></tr>
 }}}

 Notice that this is different from #9392.  In that case, the email_id
 field is distinct from the email field, but both are being displayed.  In
 this case, both the original field and the inherited field seem to be
 displayed.

 A solution to this would necessitate a design decision:  Only show the
 inherited field, provide a mechanism for specifying which field is
 intended, or throw an error would seem to be the best possible answers.

-- 
Ticket URL: <http://code.djangoproject.com/ticket/9393>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@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-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to