完成用户升级信息表数据导入

This commit is contained in:
ngfchl
2023-01-18 11:44:29 +08:00
parent 2bddb27a79
commit d5384a2641
5 changed files with 4499 additions and 19805 deletions

View File

@@ -9,6 +9,7 @@ logger = logging.getLogger('ptools')
def app_ready_handler(sender, **kwargs):
from pt_site.models import Site
from pt_site.models import UserLevelRule
logger.info('初始化站点信息')
try:
with open('pt_site_site.json', 'r') as f:
@@ -30,6 +31,18 @@ def app_ready_handler(sender, **kwargs):
site_obj = Site.objects.update_or_create(defaults=site_rules, url=url)
msg = site_obj[0].name + (' 规则新增成功!' if site_obj[1] else '规则更新成功!')
logger.info(msg)
with open('pt_site_userlevelrule.json', 'r') as file:
upgrade_data = json.load(file)
for upgrade in upgrade_data:
if upgrade.get('id'):
del upgrade['id']
upgrade['level'] = upgrade.get('level').replace(' ', '')
upgrade_obj = UserLevelRule.objects.update_or_create(
site_id=upgrade.get('site_id'), level_id=upgrade.get('level_id'),
defaults=upgrade
)
logger.info(
f'{upgrade_obj[0].site.name} {"用户升级规则新增成功!" if site_obj[1] else "用户升级规则更新成功!"}')
except Exception as e:
logger.error('初始化站点信息出错!{}'.format(e))

View File

@@ -0,0 +1,24 @@
# Generated by Django 4.1.2 on 2023-01-18 11:05
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("pt_site", "0035_site_page_index_alter_mysite_expires"),
]
operations = [
migrations.AlterField(
model_name="userlevelrule",
name="site",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="pt_site.site",
to_field="url",
verbose_name="站 点",
),
),
]

View File

@@ -270,7 +270,7 @@ class Site(BaseEntity):
class UserLevelRule(BaseEntity):
site = models.ForeignKey(verbose_name='站 点', to=Site, on_delete=models.CASCADE)
site = models.ForeignKey(verbose_name='站 点', to=Site, to_field='url',on_delete=models.CASCADE)
level_id = models.IntegerField(verbose_name='等级id', default=1)
level = models.CharField(verbose_name='等 级', default='User', max_length=24, help_text='请去除空格')
days = models.IntegerField(verbose_name='时 间', default=0, help_text='原样输入,单位:周')

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff