How can I customize the display of a model using contenttypes in the admin?

if I'm not wrong, you want this. http://code.google.com/p/django-genericadmin/

my advice will work differently. you will add a little more form in ProjectA, ProjectB as inline. in your admin.py

from django.contrib import admin
from django.contrib.contenttypes import generic

from myproject.myapp.models import Attachment, ProjectA, ProjectB

class Attachmentline(generic.GenericTabularInline): #or generic.GenericStackedInline, this has different visual layout.
    model = Attachment

class ProjectAdmin(admin.ModelAdmin):
    inlines = [
        Attachmentline,
    ]

admin.site.register(ProjectA, ProjectAdmin)
admin.site.register(ProjectB, ProjectAdmin)

go your ProjectA or ProjectB admin and see new admin.

this isn't what you want but it can help you. otherwise you need check first link.