add achievement type and need actions for complete it

This commit is contained in:
Timur
2025-03-02 15:57:02 +03:00
parent 00dcbe4df2
commit 9893f6d548
2 changed files with 39 additions and 0 deletions
@@ -3,6 +3,9 @@ from django.db import models
from apps.core.models import BaseModel
class Achievement(BaseModel):
class AchievementType(models.TextChoices):
CORRECT_TASKS = "correct_tasks", "Выполненные задания"
def image_url_upload_to(instance, filename):
return f"/achievements/{instance.id}/icon"
@@ -14,6 +17,19 @@ class Achievement(BaseModel):
upload_to=image_url_upload_to,
)
type = models.CharField(
max_length=20,
choices=AchievementType.choices,
verbose_name="тип",
help_text="За какой тип достижений будет выдаваться ачивка",
default=AchievementType.CORRECT_TASKS,
)
need_count = models.IntegerField(
verbose_name="кол-во того, что нужно для получения ачивки",
help_text="Здесь нужно указать количество действий, необходимое для получения ачивок. Например, если вы указали в предыдущем пункте \"Выполненные задания\" а тут 5, то ачивка будет выдаваться за 5 решенных заданий",
default=5
)
def __str__(self):
return self.name