1
當試圖導航到Django admin中的'添加演示文稿'時,我必須等待大約1分鐘才能呈現響應。問題是我在數據庫中有大約500張幻燈片,管理員在三次不同的時間選擇所有的幻燈片以填充菜單。我顯然在模型定義上做了錯誤的事情,因爲我不希望這麼多的數據會讓我的服務器癱瘓。爲什麼我以我定義的關係或使用django管理員的方式遇到此問題的任何可見性?與Django中許多行崩潰的內聯堆疊在一起
class PresentationTitle(models.Model):
title = models.CharField(max_length=255)
order_number = models.IntegerField(default=0)
def __unicode__(self):
return self.title
class PresentationUser(models.Model):
user = models.OneToOneField(User)
authorized_modules = models.ManyToManyField(PresentationTitle)
class Presentation(models.Model):
title = models.ForeignKey(PresentationTitle)
user = models.ForeignKey(PresentationUser)
presentation_date = models.DateTimeField()
def __unicode__(self):
return self.title.title
class Slide(models.Model):
....
submodule = models.ForeignKey(Submodule)
presentation = models.ManyToManyField(Presentation, through='PresentationSlide')
...
class Meta:
order_with_respect_to = 'submodule'
ordering = ['order']
class PresentationSlide(models.Model):
presentation = models.ForeignKey(Presentation)
slide = models.ForeignKey(Slide)
slide_order = models.IntegerField()
此外,我的管理包括:
class PresentationSlideInline(admin.StackedInline):
model = PresentationSlide
class PresentationAdmin(admin.ModelAdmin):
inlines = [PresentationSlideInline]
admin.site.register(Presentation, PresentationAdmin)
可以理解的是,除去剛剛從admin.site.register
有PresentationAdmin使得加載非常響應。
你有任何意見與這些模型相關聯,或者你只是使用內置的管理模塊? – DZittersteyn
這些只是內置的管理模塊。視圖上沒有自定義 - 只需在管理員中爲演示文稿聲明StackedInline即可。 –
這是什麼:return self.title.title?我認爲這是一個錯誤。 – sergzach