Skip to content
Snippets Groups Projects
Commit cd55251d authored by Odin Johan Vatne's avatar Odin Johan Vatne
Browse files

Add UserTag

parent 36173705
No related branches found
No related tags found
No related merge requests found
......@@ -7,5 +7,6 @@ admin.site.register(Project)
admin.site.register(Application)
admin.site.register(Tag)
admin.site.register(ProjectTag)
admin.site.register(UserTag)
admin.site.register(TagCategory)
admin.site.register(Comment)
# Generated by Django 3.2.9 on 2022-05-21 00:21
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('pasapp', '0019_rename_content_comment_message'),
]
operations = [
migrations.RenameModel(
old_name='StudentTag',
new_name='UserTag',
),
migrations.AlterModelOptions(
name='usertag',
options={'ordering': ['user', 'tag']},
),
migrations.RemoveConstraint(
model_name='usertag',
name='unique_tags_per_student',
),
migrations.RemoveIndex(
model_name='usertag',
name='student_tag_index',
),
migrations.RenameField(
model_name='usertag',
old_name='student',
new_name='user',
),
migrations.AddIndex(
model_name='usertag',
index=models.Index(fields=['user'], name='user_tag_index'),
),
migrations.AddConstraint(
model_name='usertag',
constraint=models.UniqueConstraint(fields=('user', 'tag'), name='unique_tags_per_user'),
),
]
......@@ -139,19 +139,18 @@ class ProjectTag(models.Model):
return f'{self.project.title}: {self.tag.name}'
class StudentTag(models.Model):
# TODO: not implemented, should be UserTag also
student = models.ForeignKey(User, on_delete=models.CASCADE)
class UserTag(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
tag = models.ForeignKey(Tag, on_delete=models.CASCADE)
class Meta:
constraints = [
models.UniqueConstraint(fields=('student', 'tag'), name="unique_tags_per_student")
models.UniqueConstraint(fields=('user', 'tag'), name="unique_tags_per_user")
]
ordering = ['student', 'tag']
ordering = ['user', 'tag']
indexes = [
models.Index(fields=['student'], name='student_tag_index'),
models.Index(fields=['user'], name='user_tag_index'),
]
def __str__(self):
return f'{self.student.first_name} {self.student.last_name}: {self.tag.name}'
return f'{self.user.first_name} {self.user.last_name}: {self.tag.name}'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment