Создавайте собственные миксины в Django - PullRequest
0 голосов
/ 20 сентября 2019

Я хочу создать миксин из обычной функции.

from taggit.models import Tag

def remove_all_tags_without_objects():
    for tag in Tag.objects.all():
        if tag.taggit_taggeditem_items.count() == 0:
            tag.delete()
        else:
            pass

Я хочу преобразовать вышеуказанную функцию в смешанную, и я могу использовать ее снова.

1 Ответ

1 голос
/ 20 сентября 2019

Если вы хотите, чтобы он был в миксине, вам просто нужно обернуть его внутри класса, например:

class MyMixin():
    def remove_all_tags_without_objects():
        ...

Затем вы можете импортировать его в ваши представления (где View - это класс представлениявы используете):

from path.to.mixin import MyMixin

class MyView(MyMixin, View):
    ...

В представлении вы можете вызвать эту функцию с помощью self.remove_all_tags_without_objects().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...