user884624
user884624

Reputation: 123

Django multiple inline doesn't work

I have a django model like this.

model.py

class Event(models.Model):
    name = models.CharField(max_length=255)

    def __unicode__(self):
        return self.name

class Location(models.Model):
    name = models.CharField(max_length=255)

    def __unicode__(self):
        return self.name

class Occurrence(models.Model):
    event = models.ForeignKey(Event)
    location = models.ForeignKey(Location)

class TimeSlot(models.Model):
    occurrence = models.ForeignKey(Occurrence)
    start = models.DateTimeField()
    end = models.DateTimeField()

admin.py

class TimeSlotInline(admin.StackedInline):
    model = TimeSlot
    extra = 1

class OccurrenceInline(admin.StackedInline):
    model = Occurrence
    inlines = [TimeSlotInline,]
    extra = 2

class EventAdmin(admin.ModelAdmin):
    inlines = [OccurrenceInline,]

admin.site.register(Event, EventAdmin)
admin.site.register(Location)

I want to display all fields in one page in admin page.(When adding new records.) Multiple inline doesn't work.(Only first inline comes.) Is there any other way to do this ?

Update: Can I do this by modifying admin.py file. Can I add a customized form to inlines of admin.py?

Upvotes: 0

Views: 3952

Answers (2)

dan-klasson
dan-klasson

Reputation: 14180

It's supposed to be:

class OccurrenceInline(admin.StackedInline):
    model = Occurrence
    extra = 2

class EventAdmin(admin.ModelAdmin):
    inlines = [OccurrenceInline, TimeSlotInline,]

Upvotes: 0

Related Questions