position = 0
for item in self.request_json:
Document.objects.filter(id=item['id']).update(tree_id=position, level=0, parent_id=?)
position += 1
if 'children' in item:
for child in item['children']:
Document.objects.filter(id=child['id']).update(tree_id=position, level=1, parent_id=?)
position += 1
if 'children' in child:
for deep_child in child['children']:
Document.objects.filter(id=deep_child['id']).update(tree_id=position, level=2, parent_id=?)
Document.objects.filter(id=id).update(tree_id=?, level=?, parent_id=?)
permission = Permission.objects.get(codename='use_tool')
if permission in user.user_permissions.all():
print "True"
else:
print "False"
user.get_all_permissions()
и она возвращает список всех существующих прав в системе, включая "use_tool". Хотя посмотрел в БД и там у данного конкретного суперпользователя нет права "use_tool". Думаю get_all_permissions работает по такому же принцему как и has_perm. Заочно возвращает True если пользователь суперпользователь. Поэтому метод get_all_permissions() в моем конкетном случаи не работает =( class ArticleRevert(RedirectView):
@reversion.create_revision()
def get_redirect_url(self, *args, **kwargs):
# Здесь Код
return reverse(здесь url адрес)
LevelName: WARNING | Message: Method Not Allowed (GET): /article/326/reversions/21/article_revert/
LevelName: WARNING | Message: "GET /article/326/reversions/21/article_revert/ HTTP/1.1" 405 0
class ArticleRevert(View):
@reversion.create_revision()
def get(self, request, *args, **kwargs):
# Здесь остальной код
@reversion.register(fields=("head", "head_ru", "head_en", "head_kz"))
@reversion.register()
, но теперь нефиксируются никакие изменения и невозможно зайти на страницу с историей изменений. Выводит ошибку: RegistrationError: <class 'slider.models.Slide'> has not been registered with django-reversion
LANGUAGE_CODE = 'ru'
и значение из поля head автоматически записывается в поле head_ru.class SlideForm(forms.ModelForm):
class Meta:
model = Slide
fields = ('head', 'head_en', 'head_kz',)
def __init__(self, *args, **kwargs):
super(SlideForm, self).__init__(*args, **kwargs)
self.fields['head'].widget.attrs = {
'class': 'form-control',
'id': 'head',
}
self.fields['head_en'].widget.attrs = {
'class': 'form-control',
'id': 'head_en',
}
self.fields['head_kz'].widget.attrs = {
'class': 'form-control',
'id': 'head_kz',
}
django.contrib.admin
. Прикладываю свой список c которым только что создал еще одну запись но поля head_ru, head_en, head_kz так и не фиксируются =(INSTALLED_APPS = [
'modeltranslation', # "django-modeltranslation" application
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.forms',
'django_select2',
'slider', # "slider" application
'custom_app_1',
'custom_app_2',
'reversion', # django-reversion application
]
# Parse fields
Кажется приложение парсит только те поля которые указаны в модели данных. Видити ли вы возможность как-то явно указать поля head_ru, head_en, head_kz для приложения django-reversion?!
Хоть он и работает, но полностью соглашусь с вами, что он не универсальный. А как применить данный ваш метод к модели данных? Немного запутался.