Установил django-mptt:
models.py
from django.db import models
from mptt.models import MPTTModel, TreeForeignKey
class Section(MPTTModel):
parent = TreeForeignKey(
'self',
verbose_name='parent',
on_delete=models.CASCADE,
null=True,
blank=True,
related_name='children'
)
title = models.CharField(verbose_name='title', max_length=15, blank=False)
class MPTTMeta:
order_insertion_by = ['title']
def __str__(self):
return self.title
admin.py
from django.contrib import admin
from mptt.admin import DraggableMPTTAdmin
from .models import Section
@admin.register(Section)
class SectionAdmin(DraggableMPTTAdmin):
list_display = ('tree_actions', 'indented_title',)
list_display_links = ('indented_title',)
И всё бы ничего, всё работает, кроме самого перетаскивания в админке. В консоли браузера:
Uncaught TypeError: Cannot read property 'fn' of undefined at draggable-admin.js:14
Судя по всему проблема в том, что mptt свой js подключает до jQuery.init и django.jQuery ещё не существует.
Какой есть менее затратный способ исправить сие недоразумение?
Не знаю почему, но проблема оказалась в том, что Django (v. 2.2) подключает свои и чужие js файлы по очереди. Может не самый лучший, но самый менее затратный способ это исправить получилось путём добавления своего js через класс Media.
admin.py
@admin.register(Section)
class SectionAdmin(DraggableMPTTAdmin):
class Media:
js = ('admin/js/fixed.js',)
fixed.js
var django = django || {};
django.jQuery = jQuery.noConflict();
По сути повторяя джанговский jquery.init.js
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Собственно имеется функция с стороннего ресурса, пример ниже, но у нее непонятная конструкция, как её понимать, и можно ли как то вызвать эту...
В таблице есть колонка доктор и колонка назначение лекарств для каждого пациента