> Your question is very difficult to read - needs paragraphs.
>
> But I think the answer to your problem is to define a __unicode__
> method on the target model.
> --
> DR.
I will try to be clearer and briefer:
Django's built-in admin system automatically generates data-entry
forms for the fields in a table. If those fields are ForeignKey types
such as OneToOneField, the data entry system generates a <select> box
to allow the user to pick an entry from the ForeignKey table. I am
getting these <select> <option> choices all displayed as the same
literal "<ForeignKey tablename> object".
I would like them to be displayed instead as
"<ForeignKey_table.object.field>.value" For instance, if the table I
am doing data entry into has a field which is a OneToOneField pointer
to a table named People which has a field called name, I want the
generated <select> <option> to show as the values of each People
record's People.name field. It currently (as a default behavior) seems
to only display the same literal "People object" for every record in
the drop-down selection box .
Here is a minimal example of what I am doing:
# ===== from admin.py ===========
class PersonInline(admin.TabularInline):
model = Person
class PersonAdmin(admin.ModelAdmin):
list_display=('name',)
class MomAdmin(admin.ModelAdmin):
list_display=('myname','PTArole')
def myname(self,obj):
pname=Person.objects.get(personID=obj.personID_id).name
if pname is None: myname="No Person found for %s"%str
(obj.personID_id)
return pname
# ====== from models.py ==============
class Person(models.Model):
personID=models.AutoField (primary_key=True)
name=models.CharField(max_length=20)
class Mom(models.Model):
momID=models.AutoField (primary_key=True)
personID=models.OneToOneField('Person',to_field='personID')
PTA_roles=(('O','officer'),('C','on committee'),('A','active'),
('I','inactive'))
PTArole=models.CharField(max_length=1,choices=PTA_roles)
=====================================
When the admin interface goes to add/change Mom, it shows the
PTA_roles correctly, but the PersonID field is shown as "Person
object"
What should I do to have the personId field selection display
Person.name instead?
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---