I have made changes like this: """ Introduced a new model to store the form field select values """ class Branch(models.Model): """Branch""" name = models.CharField(max_length=50) name_branch = models.CharField(max_length=50) address_1 = models.CharField(max_length=100)
class Meta: db_table = 'branch' def __unicode__(self): return u"%s | %s | %s" % ( unicode(self.name_branch), unicode(self.address_1)) class TransactionUpdateForm(forms.ModelForm): branchqs = Branch.objects.get(name_branch) branches_field = forms.BranchModelChoiceField(branchqs) #ModelChoiceField instance branch_name_new = forms.models.CharField(required=True, widget=forms.Select(choices={'BR_CODE1': 'HQ': 'Branch 2'})) class Meta: model = Transaction fields = ('branch_name') widgets = { 'branch_name_new': Select(choices={'BR_CODE1': 'HQ': 'Branch 2'} ), } """ subclass of ModelChoiceField """" class BranchModelChoiceField(ModelChoiceField): def label_from_instance(self, obj): return "My Object #%i" % obj.id In template file I do this: {{form.branches_field}} Unfortunately, no luck yet. I'm still trying other options though. Thanks On Mon, Aug 8, 2011 at 3:20 PM, Tom Evans <tevans...@googlemail.com> wrote: > On Mon, Aug 8, 2011 at 2:56 PM, Daniel Roseman <dan...@roseman.org.uk> > wrote: > > > > I'm afraid it's really not clear what you're trying to do, or what the > > problem is. > > If the issue is that you have a field referring to a foreign key, and you > > want to change what the values displayed in the dropdown for that field, > > then you simply need to redefine the `__unicode__` method for the related > > model, as documented > > here: > https://docs.djangoproject.com/en/1.3/ref/forms/fields/#modelchoicefield > > An alternative, also documented at that link, is to subclass > > ModelChoiceField and override label_from_instance. > > This exact question gets asked about 3 times a week (well, once you > have normalized out the different ways in which it is asked..). > Personally, I'm fed up of answering it. > > I think that adjusting the labels needs to become a bit more flexible > - perhaps allow a "label_from_instance=callable" argument on > ModelChoiceField, or have ModelChoiceField look for a > MyForm.label_from_instance_<fieldname> method. > > The current options are > > a) change how the related field's model is displayed throughout Django > (which may be impossible to do for a cross app links/3rd party apps) > b) provide your own Field class which labels things appropriately > > Both these options are more cumbersome than needs be, as evidenced by > the number of users who don't understand how to do this. > > Cheers > > Tom > > -- > 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 > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > > -- Odeyemi 'Kayode O. http://www.sinati.com. t: @charyorde -- 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 django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.