from django.db import models
from django.contrib.auth.models import User
class Task(models.Model):
    name = models.CharField(max_length=16, null=None, blank=None)
    max_score = models.PositiveIntegerField(null=None, blank=None)
    def __str__(self):
        return '{}{}'.format(self.name, self.max_score)
class Achievement(models.Model):
    task = models.ForeignKey(Task, null=None, blank=None)
    user = models.ForeignKey(User, null=None, blank=None)
    score = models.PositiveIntegerField(null=None, blank=None)
    def __str__(self):
        return '{} achieved {} in {}'.format(self.user, self.score, self.task)
Есть юзеры. Есть список задач.
Юзер выполнят задачу - создаётся новая ачивка «задача, юзер, набранные очки».
Нужно получить для конкретного юзера список «задача: набранные очки». Если ачивки ещё нет, то набранные очки=0.


