【发布时间】:2019-10-09 20:44:02
【问题描述】:
我目前正在使用 admin.TabularInline 加载 50k 条数据记录,由于超时,页面无法加载。我使用的是 Django 1.9 版,升级不是一个选项。
我已经尝试覆盖 get_queryset 以仅返回 10 条记录。
class RemDetailInline(admin.TabularInline):
model = RemDetail
fields = ('rem_name', 'ben_name', 'payout_amount',
'payout_currency', 'status','type', 'date_created')
readonly_fields = ('rem_name', 'ben_name', 'payout_amount',
'payout_currency', 'status', 'type', 'date_created')
extra = 0
max_num = 0
show_change_link = True
ordering = ['-date_created',]
def get_queryset(self, request):
queryset = super(RemDetailInline, self).get_queryset(request)
ids = queryset.order_by('-id').values('pk')[:10] # limit 10
qs = RemDetailInline.objects.filter(pk__in=ids).order_by('-id')
return qs
我希望输出返回 10 条记录,而不是由于大量(50k 条记录)导致页面超时
【问题讨论】:
标签: django python-2.7 django-models django-forms django-admin