1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2024-11-01 03:54:15 +00:00
webvirtcloud/storages/models.py
2022-11-02 16:05:41 +03:00

58 lines
1.6 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}"