from django.db import models

class MonitorItem(models.Model):
    id = models.CharField(max_length=255, primary_key=True)
    _value = models.TextField(db_column="value", blank=True, null=True)
    type = models.CharField(max_length=255, default="int")
    updated = models.DateTimeField(blank=True, null=True)

    class Meta:
        app_label = 'misago'

    @property
    def value(self):
        if self.type in ("int", "integer"):
            return int(self._value)
        if self.type == "float":
            return float(self._value)
        return self._value

    @value.setter
    def value(self, v):
        if self.type in ("int", "integer"):
            self._value = int(v)
        if self.type == "float":
            self._value = float(v)
        self._value = v