dispaly data for cloudmanager in admin
This commit is contained in:
@@ -1,3 +1,44 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from django.contrib import admin,messages
|
||||
from django.utils.translation import ngettext
|
||||
from .models import Machine_Data,Schedule_Day_Data,Schedule_Week_Data
|
||||
# Register your models here.
|
||||
|
||||
class ActiveAtHourFilter(admin.SimpleListFilter):
|
||||
title = 'Active at hour'
|
||||
parameter_name = 'active_at_hour'
|
||||
|
||||
def lookups(self, request, model_admin):
|
||||
return [(str(h), f'{h:02d}:00') for h in range(24)]
|
||||
|
||||
def queryset(self, request, queryset):
|
||||
if self.value() is not None:
|
||||
hour = self.value()
|
||||
return queryset.filter(**{f'schedule_day__state_at_{hour}': True})
|
||||
return queryset
|
||||
|
||||
@admin.register(Machine_Data)
|
||||
class Machine_Data(admin.ModelAdmin):
|
||||
list_display = ('name', 'namespace', 'schedule_week', 'schedule_day','replicas')
|
||||
list_filter = (
|
||||
'schedule_week', # filter by week schedule (shows all Schedule_Week_Data entries)
|
||||
ActiveAtHourFilter, # filter by active hour (e.g. who runs at 08:00)
|
||||
)
|
||||
#list_filter = ['seen']
|
||||
#fields = ['season', 'episode', 'url', 'seen']
|
||||
#actions = [make_seen,make_unseen]
|
||||
|
||||
@admin.register(Schedule_Day_Data)
|
||||
class Schedule_Day_Data(admin.ModelAdmin):
|
||||
list_display = ('name_schedule','state_at_0','state_at_1','state_at_2','state_at_3','state_at_4','state_at_5','state_at_6','state_at_7','state_at_8','state_at_9','state_at_10','state_at_11','state_at_12','state_at_13','state_at_14','state_at_15','state_at_16','state_at_17','state_at_18','state_at_19','state_at_20','state_at_21','state_at_22','state_at_23')
|
||||
#list_filter = ['seen']
|
||||
#fields = ['season', 'episode', 'url', 'seen']
|
||||
#actions = [make_seen,make_unseen]
|
||||
|
||||
|
||||
@admin.register(Schedule_Week_Data)
|
||||
class Schedule_Week_Data(admin.ModelAdmin):
|
||||
list_display = ('name_schedule','state_Monday','state_Tuesday','state_Wednesday','state_Thursday','state_Friday','state_Saturday','state_Sunday')
|
||||
#list_filter = ['seen']
|
||||
#fields = ['season', 'episode', 'url', 'seen']
|
||||
#actions = [make_seen,make_unseen]
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Generated by Django 4.2.29 on 2026-06-11 19:35
|
||||
# Generated by Django 4.2.30 on 2026-06-17 13:00
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
@@ -12,17 +13,68 @@ class Migration(migrations.Migration):
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='CmmData',
|
||||
name='Schedule_Day_Data',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name_schedule', models.CharField(max_length=100, unique=True)),
|
||||
('state_at_0', models.BooleanField()),
|
||||
('state_at_1', models.BooleanField()),
|
||||
('state_at_2', models.BooleanField()),
|
||||
('state_at_3', models.BooleanField()),
|
||||
('state_at_4', models.BooleanField()),
|
||||
('state_at_5', models.BooleanField()),
|
||||
('state_at_6', models.BooleanField()),
|
||||
('state_at_7', models.BooleanField()),
|
||||
('state_at_8', models.BooleanField()),
|
||||
('state_at_9', models.BooleanField()),
|
||||
('state_at_10', models.BooleanField()),
|
||||
('state_at_11', models.BooleanField()),
|
||||
('state_at_12', models.BooleanField()),
|
||||
('state_at_13', models.BooleanField()),
|
||||
('state_at_14', models.BooleanField()),
|
||||
('state_at_15', models.BooleanField()),
|
||||
('state_at_16', models.BooleanField()),
|
||||
('state_at_17', models.BooleanField()),
|
||||
('state_at_18', models.BooleanField()),
|
||||
('state_at_19', models.BooleanField()),
|
||||
('state_at_20', models.BooleanField()),
|
||||
('state_at_21', models.BooleanField()),
|
||||
('state_at_22', models.BooleanField()),
|
||||
('state_at_23', models.BooleanField()),
|
||||
],
|
||||
options={
|
||||
'db_table': 'schedule_day',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Schedule_Week_Data',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name_schedule', models.CharField(max_length=100, unique=True)),
|
||||
('state_Monday', models.BooleanField()),
|
||||
('state_Tuesday', models.BooleanField()),
|
||||
('state_Wednesday', models.BooleanField()),
|
||||
('state_Thursday', models.BooleanField()),
|
||||
('state_Friday', models.BooleanField()),
|
||||
('state_Saturday', models.BooleanField()),
|
||||
('state_Sunday', models.BooleanField()),
|
||||
],
|
||||
options={
|
||||
'db_table': 'schedule_week',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Machine_Data',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100)),
|
||||
('namespace', models.CharField(max_length=100)),
|
||||
('schedule_day', models.CharField(max_length=100)),
|
||||
('schedule_hour', models.CharField(max_length=100)),
|
||||
('replicas', models.IntegerField()),
|
||||
('schedule_day', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cloudmanager.schedule_day_data')),
|
||||
('schedule_week', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cloudmanager.schedule_week_data')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'cloudmanager',
|
||||
'db_table': 'machine',
|
||||
},
|
||||
),
|
||||
]
|
||||
|
||||
@@ -1,12 +1,58 @@
|
||||
from django.db import models
|
||||
|
||||
class CmmData(models.Model):
|
||||
|
||||
|
||||
class Schedule_Week_Data(models.Model):
|
||||
name_schedule = models.CharField(max_length=100,unique=True)
|
||||
state_Monday = models.BooleanField()
|
||||
state_Tuesday = models.BooleanField()
|
||||
state_Wednesday = models.BooleanField()
|
||||
state_Thursday = models.BooleanField()
|
||||
state_Friday = models.BooleanField()
|
||||
state_Saturday = models.BooleanField()
|
||||
state_Sunday = models.BooleanField()
|
||||
class Meta:
|
||||
db_table = 'schedule_week'
|
||||
def __str__(self):
|
||||
return self.name_schedule
|
||||
|
||||
class Schedule_Day_Data(models.Model):
|
||||
name_schedule = models.CharField(max_length=100,unique=True)
|
||||
state_at_0 = models.BooleanField()
|
||||
state_at_1 = models.BooleanField()
|
||||
state_at_2 = models.BooleanField()
|
||||
state_at_3 = models.BooleanField()
|
||||
state_at_4 = models.BooleanField()
|
||||
state_at_5 = models.BooleanField()
|
||||
state_at_6 = models.BooleanField()
|
||||
state_at_7 = models.BooleanField()
|
||||
state_at_8 = models.BooleanField()
|
||||
state_at_9 = models.BooleanField()
|
||||
state_at_10 = models.BooleanField()
|
||||
state_at_11 = models.BooleanField()
|
||||
state_at_12 = models.BooleanField()
|
||||
state_at_13 = models.BooleanField()
|
||||
state_at_14 = models.BooleanField()
|
||||
state_at_15 = models.BooleanField()
|
||||
state_at_16 = models.BooleanField()
|
||||
state_at_17 = models.BooleanField()
|
||||
state_at_18 = models.BooleanField()
|
||||
state_at_19 = models.BooleanField()
|
||||
state_at_20 = models.BooleanField()
|
||||
state_at_21 = models.BooleanField()
|
||||
state_at_22 = models.BooleanField()
|
||||
state_at_23 = models.BooleanField()
|
||||
class Meta:
|
||||
db_table = 'schedule_day'
|
||||
def __str__(self):
|
||||
return self.name_schedule
|
||||
|
||||
class Machine_Data(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
namespace = models.CharField(max_length=100)
|
||||
schedule_day = models.CharField(max_length=100)
|
||||
schedule_hour = models.CharField(max_length=100)
|
||||
schedule_week = models.ForeignKey(Schedule_Week_Data,null=True, blank=True, on_delete=models.SET_NULL)
|
||||
schedule_day = models.ForeignKey(Schedule_Day_Data,null=True, blank=True, on_delete=models.SET_NULL)
|
||||
replicas = models.IntegerField()
|
||||
|
||||
|
||||
class Meta:
|
||||
db_table = 'cloudmanager'
|
||||
db_table = 'machine'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from django.http import HttpResponse
|
||||
|
||||
# IMPORT AT THE TOP HERE: This is completely safe!
|
||||
from apps.cloudmanager.models import CmmData
|
||||
from apps.cloudmanager.models import Machine_Data,Schedule_Week_Data
|
||||
|
||||
def coucou(request):
|
||||
# 1. Prepare the data inside the function
|
||||
|
||||
Reference in New Issue
Block a user