|
2 | 2 | import uuid
|
3 | 3 | from db.user import User
|
4 | 4 |
|
| 5 | + |
5 | 6 | class Achievement(models.Model):
|
6 |
| - id = models.CharField(primary_key=True, default=uuid.uuid4, max_length=36) |
7 |
| - name = models.CharField(max_length=75, unique=True) |
8 |
| - level_id = models.ForeignKey('Level', on_delete=models.CASCADE, db_column='level_id') |
9 |
| - description = models.CharField(max_length=300) |
10 |
| - icon = models.CharField(max_length=100) |
11 |
| - has_vc = models.BooleanField() |
12 |
| - tags = models.JSONField() |
13 |
| - type = models.CharField(max_length=36) |
14 |
| - template_id = models.CharField(max_length=100, null=True, blank=True) |
15 |
| - updated_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='achievements_updated_by', db_column='updated_by') |
16 |
| - updated_at = models.DateTimeField(auto_now=True) |
17 |
| - created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='achievements_created_by', db_column='created_by') |
18 |
| - created_at = models.DateTimeField(auto_now_add=True) |
| 7 | + id = models.CharField(primary_key=True, default=uuid.uuid4, max_length=36) |
| 8 | + name = models.CharField(max_length=75, unique=True) |
| 9 | + level_id = models.ForeignKey( |
| 10 | + "Level", on_delete=models.CASCADE, db_column="level_id" |
| 11 | + ) |
| 12 | + description = models.CharField(max_length=300) |
| 13 | + icon = models.CharField(max_length=100) |
| 14 | + has_vc = models.BooleanField() |
| 15 | + tags = models.JSONField() |
| 16 | + type = models.CharField(max_length=36) |
| 17 | + template_id = models.CharField(max_length=100, null=True, blank=True) |
| 18 | + updated_by = models.ForeignKey( |
| 19 | + User, |
| 20 | + on_delete=models.CASCADE, |
| 21 | + related_name="achievements_updated_by", |
| 22 | + db_column="updated_by", |
| 23 | + ) |
| 24 | + updated_at = models.DateTimeField(auto_now=True) |
| 25 | + created_by = models.ForeignKey( |
| 26 | + User, |
| 27 | + on_delete=models.CASCADE, |
| 28 | + related_name="achievements_created_by", |
| 29 | + db_column="created_by", |
| 30 | + ) |
| 31 | + created_at = models.DateTimeField(auto_now_add=True) |
19 | 32 |
|
20 | 33 | class Meta:
|
21 |
| - db_table = 'achievement' |
| 34 | + db_table = "achievement" |
22 | 35 | managed = False
|
23 | 36 |
|
24 | 37 |
|
25 | 38 | class UserAchievementsLog(models.Model):
|
26 |
| - id = models.CharField(primary_key=True, default=uuid.uuid4, max_length=36) |
27 |
| - user_id = models.ForeignKey('User', on_delete=models.CASCADE, related_name='achievements', db_column='user_id', db_index=True) |
28 |
| - achievement_id = models.ForeignKey('Achievement', on_delete=models.CASCADE, related_name='users', db_column='achievement_id', db_index=True) |
29 |
| - is_issued = models.BooleanField(default=False) |
30 |
| - vc_url = models.CharField(max_length=100) |
31 |
| - updated_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='user-achievements_updated_by',db_column='updated_by') |
32 |
| - updated_at = models.DateTimeField(auto_now=True) |
33 |
| - created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='user-achievements_created_by',db_column='created_by') |
34 |
| - created_at = models.DateTimeField(auto_now_add=True) |
| 39 | + id = models.CharField(primary_key=True, default=uuid.uuid4, max_length=36) |
| 40 | + user_id = models.ForeignKey( |
| 41 | + "User", |
| 42 | + on_delete=models.CASCADE, |
| 43 | + related_name="achievements", |
| 44 | + db_column="user_id", |
| 45 | + db_index=True, |
| 46 | + ) |
| 47 | + achievement_id = models.ForeignKey( |
| 48 | + "Achievement", |
| 49 | + on_delete=models.CASCADE, |
| 50 | + related_name="users", |
| 51 | + db_column="achievement_id", |
| 52 | + db_index=True, |
| 53 | + ) |
| 54 | + is_issued = models.BooleanField(default=False) |
| 55 | + vc_url = models.CharField(max_length=100) |
| 56 | + updated_by = models.ForeignKey( |
| 57 | + User, |
| 58 | + on_delete=models.CASCADE, |
| 59 | + related_name="user_achievements_updated_by", |
| 60 | + db_column="updated_by", |
| 61 | + ) |
| 62 | + updated_at = models.DateTimeField(auto_now=True) |
| 63 | + created_by = models.ForeignKey( |
| 64 | + User, |
| 65 | + on_delete=models.CASCADE, |
| 66 | + related_name="user_achievements_created_by", |
| 67 | + db_column="created_by", |
| 68 | + ) |
| 69 | + created_at = models.DateTimeField(auto_now_add=True) |
35 | 70 |
|
36 | 71 | class Meta:
|
37 |
| - db_table = 'user_achievements_log' |
| 72 | + db_table = "user_achievements_log" |
38 | 73 | managed = False
|
0 commit comments