mirror of
https://github.com/retspen/webvirtcloud
synced 2024-12-25 23:55:24 +00:00
47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
from django.db import models
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
# Create your models here.
|
|
class Storages(models.Model):
|
|
name = models.CharField(_('name'), max_length=20, error_messages={'required': _('No pool name has been entered')})
|
|
status = models.IntegerField(_('status'))
|
|
type = models.CharField(_('type'), max_length=100)
|
|
size = models.IntegerField(_('size'))
|
|
volumes = models.IntegerField(_('volumes'))
|
|
|
|
class Meta:
|
|
managed = False
|
|
|
|
def __str__(self):
|
|
return f'{self.name}'
|
|
|
|
|
|
class Volume(models.Model):
|
|
name = models.CharField(_('name'), max_length=128)
|
|
type = models.CharField(_('format'), max_length=12, choices=(('qcow2', 'qcow2 (recommended)'), ('qcow', 'qcow'), ('raw', 'raw')))
|
|
allocation = models.IntegerField(_('allocation'))
|
|
size = models.IntegerField(_('size'))
|
|
|
|
class Meta:
|
|
managed = False
|
|
verbose_name_plural = "Volumes"
|
|
|
|
def __str__(self):
|
|
return f'{self.name}'
|
|
|
|
|
|
class Storage(models.Model):
|
|
state = models.IntegerField(_('state'))
|
|
size = models.IntegerField(_('size'))
|
|
free = models.IntegerField(_('free'))
|
|
status = models.CharField(_('status'), max_length=128)
|
|
path = models.CharField(_('path'), max_length=128)
|
|
type = models.CharField(_('type'), max_length=128)
|
|
autostart = models.BooleanField(_('autostart'))
|
|
volumes = models.ForeignKey(Volume, related_name="storage_volumes", on_delete=models.DO_NOTHING)
|
|
|
|
class Meta:
|
|
managed = False
|
|
|
|
def __str__(self):
|
|
return f'{self.path}'
|