Я делаю классическое приложение с одним представлением, отображая несколько
источники данных.
Django-admin разбит на страницы, поэтому при просмотре списка это никак не сказывается, проблема в том, что я хочу изменить / добавить его.
Используя панель инструментов отладки, мои запросы выглядят нормально, я не думаю, что они занимают много времени.
Я попытался использовать предложение здесь Загрузка формы администратора Django довольно медленно и создала форму, но это никак не отразилось.
Когда используется exclude = ['e_vehicle','e_product']
Не удивительно, что добавление / изменение экранов загружается мгновенно.
Любые мысли, пожалуйста
model.py
class Product_Mapping(Trackable):
product_mapping_id = models.AutoField(primary_key=True)
s_product = models.OneToOneField(sProduct, on_delete=models.CASCADE)
e_fund_manager = models.ForeignKey(eManager, models.DO_NOTHING, blank=True, null=True)
e_product = models.ForeignKey(eProduct, models.DO_NOTHING, blank=True, null=True)
e_vehicle = models.ForeignKey(eVehicle, models.DO_NOTHING, blank=True, null=True)
eManager имеет около 3K
eProduct имеет около 17 КБ (от fkey до eManager)
eVehicle имеет около 25 КБ (имеет fkey для eProduct)
form.py
class MappingProductForm(forms.ModelForm):
s_product = forms.ChoiceField(required=False,
choices=sProduct.objects.values_list('final_publications_product_id', 'product_name'))
e_fund_manager = forms.ChoiceField(required=False,
choices=eManager.objects.values_list('e_fund_manager_id', 'manager_name'))
e_product = forms.ChoiceField(required=False,
choices=eProduct.objects.values_list('e_product_id', 'product_name'))
e_vehicle = forms.ChoiceField(required=False,
choices=eVehicle.objects.values_list('e_vehicle_id', 'formal_vehicle_name'))
class Meta:
model = Product_Mapping
fields = '__all__'
admin.py
@admin.register(Product_Mapping)
class ChampProductMappingAdmin(admin.ModelAdmin):
form = MappingProductForm