since FlatPage is already registered how do I properly register an InlineModelAdmin object?
On Nov 11, 9:51 pm, neridaj <[email protected]> wrote: > Hey Karen, > > I realized that I shouldn't have been using a generic.StackedInline > and fixed the indentation. I left the FlatPage out of register because > I was getting 'The model FlatPage is already registered'. > > On Nov 11, 9:09 pm, Karen Tracey <[email protected]> wrote: > > > 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=.

