擅长:python、mysql、java
<p>为了对其他人有所帮助,下面是我如何解决问题的方法,在管理中将查询从2k减少到30:</p>
<pre><code>class MyModelAdminForm(TranslatableModelForm):
class Meta:
model = MyModel
exclude = ()
def __init__(self, *args, **kwargs):
super(MyModelAdminForm, self).__init__(*args, **kwargs)
self.fields['services'].queryset = Service.objects.prefetch_related('translations').all()
class MyModelAdmin(TranslatableAdmin):
form = MyModelAdminForm
</code></pre>
<p>因此,重写表单,一旦进入表单,就用预取覆盖queryset。在</p>