[fix]: 兼容django 3 (#5038)

* chore(django): 修改版本依赖

* [fix]: 兼容django 3

* fix(merge): 去掉不用的JSONField

* fix(requirements): 修改加密库的版本

Co-authored-by: ibuler <ibuler@qq.com>
pull/5050/head
fit2bot 2020-11-19 15:50:31 +08:00 committed by GitHub
parent 7fa94008c9
commit 6d39a51c36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 58 additions and 23 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 3.1 on 2020-11-19 03:10
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('applications', '0006_application'),
]
operations = [
migrations.AlterField(
model_name='application',
name='attrs',
field=models.JSONField(),
),
]

View File

@ -2,7 +2,6 @@ from itertools import chain
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django_mysql.models import JSONField, QuerySet
from orgs.mixins.models import OrgModelMixin from orgs.mixins.models import OrgModelMixin
from common.mixins import CommonModelMixin from common.mixins import CommonModelMixin
@ -123,7 +122,7 @@ class Application(CommonModelMixin, OrgModelMixin):
domain = models.ForeignKey('assets.Domain', null=True, blank=True, related_name='applications', verbose_name=_("Domain"), on_delete=models.SET_NULL) domain = models.ForeignKey('assets.Domain', null=True, blank=True, related_name='applications', verbose_name=_("Domain"), on_delete=models.SET_NULL)
category = models.CharField(max_length=16, choices=Category.choices, verbose_name=_('Category')) category = models.CharField(max_length=16, choices=Category.choices, verbose_name=_('Category'))
type = models.CharField(max_length=16, choices=Category.get_all_type_choices(), verbose_name=_('Type')) type = models.CharField(max_length=16, choices=Category.get_all_type_choices(), verbose_name=_('Type'))
attrs = JSONField() attrs = models.JSONField()
comment = models.TextField( comment = models.TextField(
max_length=128, default='', blank=True, verbose_name=_('Comment') max_length=128, default='', blank=True, verbose_name=_('Comment')
) )

View File

@ -6,7 +6,7 @@ import time
from django.core.cache import cache from django.core.cache import cache
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from django.utils.six import text_type from six import text_type
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.contrib.auth.backends import ModelBackend from django.contrib.auth.backends import ModelBackend
from rest_framework import HTTP_HEADER_ENCODING from rest_framework import HTTP_HEADER_ENCODING

View File

@ -3,7 +3,7 @@
import json import json
from django import forms from django import forms
from django.utils import six import six
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from ..utils import signer from ..utils import signer

View File

@ -31,7 +31,7 @@ class JsonMixin:
def json_encode(data): def json_encode(data):
return json.dumps(data) return json.dumps(data)
def from_db_value(self, value, expression, connection, context): def from_db_value(self, value, expression, connection, context=None):
if value is None: if value is None:
return value return value
return self.json_decode(value) return self.json_decode(value)
@ -54,7 +54,7 @@ class JsonMixin:
class JsonTypeMixin(JsonMixin): class JsonTypeMixin(JsonMixin):
tp = dict tp = dict
def from_db_value(self, value, expression, connection, context): def from_db_value(self, value, expression, connection, context=None):
value = super().from_db_value(value, expression, connection, context) value = super().from_db_value(value, expression, connection, context)
if not isinstance(value, self.tp): if not isinstance(value, self.tp):
value = self.tp() value = self.tp()
@ -116,7 +116,7 @@ class EncryptMixin:
def decrypt_from_signer(self, value): def decrypt_from_signer(self, value):
return signer.unsign(value) or '' return signer.unsign(value) or ''
def from_db_value(self, value, expression, connection, context): def from_db_value(self, value, expression, connection, context=None):
if value is None: if value is None:
return value return value
value = force_text(value) value = force_text(value)

View File

@ -2,7 +2,7 @@
# #
from rest_framework import serializers from rest_framework import serializers
from django.utils import six import six
__all__ = [ __all__ = [

View File

@ -16,7 +16,7 @@ import json
import yaml import yaml
from importlib import import_module from importlib import import_module
from django.urls import reverse_lazy from django.urls import reverse_lazy
from django.contrib.staticfiles.templatetags.staticfiles import static from django.templatetags.static import static
from urllib.parse import urljoin, urlparse from urllib.parse import urljoin, urlparse
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
from django.contrib.staticfiles.templatetags.staticfiles import static from django.templatetags.static import static
from django.conf import settings from django.conf import settings
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _

View File

@ -11,7 +11,7 @@ REST_FRAMEWORK = {
), ),
'DEFAULT_RENDERER_CLASSES': ( 'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.BrowsableAPIRenderer', # 'rest_framework.renderers.BrowsableAPIRenderer',
'common.drf.renders.JMSCSVRender', 'common.drf.renders.JMSCSVRender',
), ),
'DEFAULT_PARSER_CLASSES': ( 'DEFAULT_PARSER_CLASSES': (

View File

@ -0,0 +1,18 @@
# Generated by Django 3.1 on 2020-11-18 10:01
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0030_auto_20200819_2041'),
]
operations = [
migrations.AlterField(
model_name='user',
name='first_name',
field=models.CharField(blank=True, max_length=150, verbose_name='first name'),
),
]

View File

@ -12,20 +12,20 @@ chardet==3.0.4
configparser==3.5.0 configparser==3.5.0
coreapi==2.3.3 coreapi==2.3.3
coreschema==0.0.4 coreschema==0.0.4
cryptography==2.8 cryptography==3.2
decorator==4.1.2 decorator==4.1.2
Django==2.2.13 Django==3.1
django-auth-ldap==1.7.0 django-auth-ldap==2.2.0
django-bootstrap3==9.1.0 django-bootstrap3==14.2.0
django-celery-beat==2.0 django-celery-beat==2.0
django-filter==2.0.0 django-filter==2.4.0
django-formtools==2.1 django-formtools==2.2
django-ranged-response==0.2.0 django-ranged-response==0.2.0
django-redis-cache==2.1.1 django-redis-cache==2.1.1
django-rest-swagger==2.1.2 django-rest-swagger==2.2.0
django-simple-captcha==0.5.6 django-simple-captcha==0.5.13
django-timezone-field==4.0 django-timezone-field==4.0
djangorestframework==3.9.4 djangorestframework==3.12.2
djangorestframework-bulk==0.2.1 djangorestframework-bulk==0.2.1
docutils==0.14 docutils==0.14
ecdsa==0.13.3 ecdsa==0.13.3
@ -44,7 +44,7 @@ jmespath==0.9.3
kombu==4.6.8 kombu==4.6.8
ldap3==2.4 ldap3==2.4
MarkupSafe==1.1.1 MarkupSafe==1.1.1
mysqlclient==1.3.14 mysqlclient==2.0.1
olefile==0.44 olefile==0.44
openapi-codec==1.3.2 openapi-codec==1.3.2
paramiko==2.4.2 paramiko==2.4.2
@ -69,7 +69,7 @@ sshpubkeys==3.1.0
uritemplate==3.0.0 uritemplate==3.0.0
urllib3==1.25.2 urllib3==1.25.2
vine==1.3.0 vine==1.3.0
drf-yasg==1.9.1 drf-yasg==1.20.0
Werkzeug==0.15.3 Werkzeug==0.15.3
drf-nested-routers==0.91 drf-nested-routers==0.91
aliyun-python-sdk-core-v3==2.9.1 aliyun-python-sdk-core-v3==2.9.1

View File

@ -1 +1 @@
gcc krb5-devel libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel sshpass openldap-devel mariadb-devel mysql-devel mysql libffi-devel openssh-clients telnet openldap-clients gcc krb5-devel libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel sshpass openldap-devel mariadb-devel mysql-community-devel mysql libffi-devel openssh-clients telnet openldap-clients