Skip to content
Snippets Groups Projects
models.py 1.04 KiB
Newer Older
  • Learn to ignore specific revisions
  • Eliot Berriot's avatar
    Eliot Berriot committed
    from django.core.serializers.json import DjangoJSONEncoder
    from django.contrib.postgres.fields import JSONField
    
    from django.db import models
    from django.utils import timezone
    
    
    class Plugin(models.Model):
        name = models.CharField(unique=True, max_length=70)
        creation_date = models.DateTimeField(default=timezone.now)
        is_enabled = models.BooleanField()
        config = JSONField(
            default=None, max_length=50000, encoder=DjangoJSONEncoder, blank=True, null=True
        )
    
        def __str__(self):
            return self.name
    
    
    class UserPlugin(models.Model):
        plugin = models.ForeignKey(
            Plugin, related_name="user_plugins", on_delete=models.CASCADE
        )
        user = models.ForeignKey(
            "users.User", related_name="user_plugins", on_delete=models.CASCADE
        )
        creation_date = models.DateTimeField(default=timezone.now)
        is_enabled = models.BooleanField()
    
        config = JSONField(
            default=None, max_length=50000, encoder=DjangoJSONEncoder, blank=True, null=True
        )
    
        class Meta:
            unique_together = ("user", "plugin")