1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wuyue92tree-django-adminlte-ui

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
models.py 3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
伍岳 Отправлено 6 лет назад 5020caf
# -*- coding: utf-8 -*-
import itertools
from django.db import models
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from django.contrib.contenttypes.models import ContentType
from treebeard.mp_tree import MP_Node,\
InvalidMoveToDescendant, MP_MoveHandler
class Options(models.Model):
option_name = models.CharField(
max_length=255, unique=True, verbose_name=_('Option Name'))
option_value = models.TextField(
verbose_name=_('Option Value'))
valid = models.BooleanField(default=True, verbose_name=_('Valid'))
create_time = models.DateTimeField(
default=timezone.now, verbose_name=_('CreateTime'))
update_time = models.DateTimeField(
auto_now=True, verbose_name=_('UpdateTime'))
def __str__(self):
return '{}'.format(self.option_name)
class Meta:
verbose_name = _('Options')
verbose_name_plural = _('All Options')
class Menu(MP_Node):
LINK_TYPE = (
(0, _('Internal')),
(1, _('External')),
(3, _('Divide'))
)
name = models.CharField(max_length=255, verbose_name=_('name'))
position = models.CharField(
max_length=255, default='left', verbose_name=_('Menu Position'))
link_type = models.IntegerField(default=0, choices=LINK_TYPE,
verbose_name=_('Link Type'))
link = models.CharField(max_length=255, blank=True, null=True,
verbose_name=_('Link'),
help_text=_(
'support admin:index or /admin/ or http://'))
icon = models.CharField(max_length=255,
blank=True,
null=True,
verbose_name=_('Icon'))
content_type = models.ForeignKey(ContentType,
blank=True, null=True,
verbose_name=_('ContentType'),
on_delete=models.CASCADE,
help_text=_(
'use for permission control.'))
priority_level = models.IntegerField(default=100,
verbose_name=_('Priority Level'),
help_text=_('The bigger the priority'))
valid = models.BooleanField(default=True, verbose_name=_('Valid'))
node_order_by = ['priority_level']
def move(self, target, pos=None):
"""
Moves the current node and all it's descendants to a new position
relative to another node.
:raise PathOverflow: when the library can't make room for the
node's new position
"""
if target.depth == 2:
raise InvalidMoveToDescendant(_('max depth is 2.'))
return MP_MoveHandler(self, target, pos).process()
def __str__(self):
return '{}|{}'.format(self.name, self.priority_level)
class Meta:
verbose_name = _('Menu')
verbose_name_plural = _('Menu Setting')

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/wuyue92tree-django-adminlte-ui.git
git@gitlife.ru:oschina-mirror/wuyue92tree-django-adminlte-ui.git
oschina-mirror
wuyue92tree-django-adminlte-ui
wuyue92tree-django-adminlte-ui
master