On Wed, Nov 11, 2009 at 10:40 PM, neridaj <[email protected]> wrote: > I'm doing something wrong when I try to register models for the admin > interface and I'm not sure what it is. I have everything in my > installed apps, is there something wrong with these files? > > [snip] > from django.db import models > from django.contrib import admin > from django.contrib.flatpages.models import FlatPage > > class SearchKeyword(models.Model): > keyword = models.CharField(max_length=50) > page = models.ForeignKey(FlatPage) > > def __unicode__(self): > return self.keyword > > As someone else already mentioned, this __unicode__ method is not indented properly. It needs to be indented at the same level as the field definitions for the model. The effect of having it the way it is will be that SearchKeywords will display using the default unicode() method for a model instead of your customized one.
> > search/admin.py > > from testproject.search.models import SearchKeyword > from django.contrib.flatpages.models import FlatPage > from django.contrib import admin > from django.contrib.contenttypes import generic > > class KeywordInline(generic.GenericStackedInline): > model = SearchKeyword > > Why are you using a GenericStackedInline here? You do not have a GenericForeignKey in the SearchKeyword model, just a regular ForeignKey. admin.StackedInline is what you want for a regular ForeignKey. (You aren't getting far enough to see a problem resulting from this, but you will when you fix the error you are hitting, unless you are really using a GenericForeignKey in SearchKeyword.) > class PageAdmin(admin.ModelAdmin): > inlines = [ > KeywordInline, > ] > > admin.site.register(PageAdmin) > > The first positional argument to admin.site.register is a model (or a sequence of models). You've not specified the model, only the ModelAdmin. You need to add a first argument here to specify the model you are registering (I'd guess FlatPage, since that is what your inlines have a ForeignKey pointing to.) Karen -- 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=.

