from django.db import models from django.db.models import UniqueConstraint from vbv_lernwelt.core.models import User class CircleCompletion(models.Model): # Page can either be a LearningContent or a LearningUnitQuestion for now created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) user = models.ForeignKey(User, on_delete=models.CASCADE) # Page can either be a LearningContent or a LearningUnitQuestion for now page_key = models.UUIDField() page_type = models.CharField(max_length=255, default='', blank=True) circle_key = models.UUIDField() learning_path_key = models.UUIDField() completed = models.BooleanField(default=False) json_data = models.JSONField(default=dict, blank=True) class Meta: constraints = [ UniqueConstraint( fields=['user', 'page_key', ], name='unique_user_page_key' ) ]