Bạn đang sử dụng Django-mptt để tạo danh mục cho dự án của mình. Rồi một ngày nào đó, bạn thấy cây danh mục của mình nó có gì đó sai sai…
Có lẽ đó là lúc bạn cần đến tính năng rebuild()
của mptt.
Mọi hướng dẫn đều nói:
#in python shell
ModelName.objects.rebuild()
Thực sự chẳng hiểu gì luôn - đối với người mới làm quen với django và chưa và có lẽ chưa sử dụng python shell bao giờ
Để thuận tiện, hãy tiền tên ứng dụng thực tế của bạn vào trường bên dưới
Tên ứng dụng của bạn (vd: shop, blog, news…)
Tên lớp mô hình danh mục MPTTModel của bạn
OK! Đây là hướng dẫn chi tiết:
- Kiểm tra lại models.py để xem
ModelName
# =app=/models.py
class =Category=(MPTTModel):
...
ModelName
ở đây là =Category=
→ =Category=.objects.rebuild()
2. Trong thư mục dự án, mở Terminal
và chạy:
python manage.py shell
Bạn sẽ thấy rằng shell đang hoạt động bởi ba >>>
có thể nhìn thấy được. Trong shell nhập mô hình mà bạn muốn xây dựng lại cây. Sau đó chạy lệnh xây dựng.
>>> from =app=.models import =Category=
>>> =Category=.objects.rebuild()
Oh! vậy là xong rồi đấy, Làm mới cây danh mục của bạn xem nhé.