v0.5 SQL执行 板块

This commit is contained in:
何全
2019-07-09 17:39:08 +08:00
parent 0b56b6b4c7
commit 9c5cd84641
749 changed files with 1353 additions and 229934 deletions

56
sql/models.py Normal file
View File

@@ -0,0 +1,56 @@
from django.db import models
import re
from cryptography.fernet import Fernet
from system.models import Users
from assets.models import Ecs
# import base64
# import os
# print(base64.urlsafe_b64encode(os.urandom(32)))
cipher_key = 'isSxtA8i5slddH9PrYEu8V5jzTeKCO5vwlu5pUT3eEc='
class database(models.Model):
region = models.CharField(max_length=16, verbose_name='机房',choices=Ecs.TYPE_CHOICES)
name = models.CharField(max_length=64, verbose_name='RDS名称',unique=True)
address = models.CharField(max_length=64, verbose_name='地址', )
port = models.IntegerField(verbose_name='端口')
username = models.CharField(max_length=128, verbose_name='用户名', blank=True, null=True, )
password = models.CharField(max_length=128, verbose_name='密码', blank=True, null=True, )
ctime = models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间', blank=True)
utime = models.DateTimeField(auto_now=True, null=True, verbose_name='更新时间', blank=True)
def get_password(self):
if self.password is not None and re.search("gAAAAA", self.password, ) != None:
f = Fernet(cipher_key)
p1 = self.password.encode()
token = f.decrypt(p1)
p2 = token.decode()
return p2
return None
def save(self, *args, **kwargs):
if self.password is not None and re.search("gAAAAA", self.password, ) == None:
f = Fernet(cipher_key)
p1 = self.password.encode()
token = f.encrypt(p1)
p2 = token.decode()
self.password = p2
super().save(*args, **kwargs)
class Meta:
db_table = "database"
verbose_name = "数据库"
verbose_name_plural = verbose_name
def __str__(self):
return self.name