Список изменений шаблона Django Admin и формы
У меня странное поведение с интерфейсом администратора.
У меня есть форма (FioleListForm) со следующим init, в основном префильтр внешних ключей.
def __init__(self, *args, **kwargs):
super(FioleListForm, self).__init__(*args, **kwargs)
instance = kwargs.get('instance')
if instance:
if instance.lot:
self.fields['lot'].queryset = Lot.objects.filter(Q(produit__id=instance.produit.id,
shelf_life__gt=now().date(),
stock__gt=instance.dose) | Q(id=instance.lot.id))
else:
self.fields['lot'].queryset = Lot.objects.filter(Q(produit__id=instance.produit.id,
shelf_life__gt=now().date(),
stock__gt=instance.dose))
На стороне администратора у меня есть следующее:
@admin.register(Fiole)
class FioleAdmin(VersionAdmin):
change_list_template = 'admin/flacoTIapp/fiole/change_list.html'
def get_changelist_form(self, request, **kwargs):
return FioleListForm
Моя проблема в том, что change_list_template переопределяет форму. Таким образом, префильтр внешних ключей не работает. А если я не ставлю "change_list_template", Django использует шаблон Django Admin contrib.
Спасибо за помощь.