0

I have two models:

class Exam(models.Model):
    name = models.CharField(max_length=100,default="test")
    user = models.ForeignKey(User)

class UserScore(models.Model):
    user = models.OneToOneField(User,primary_key=True,on_delete=models.CASCADE)
    resultat = models.IntegerField(default=0)

When I create a new exam create dynamically I want a new field on my userscore model for all user.

Mido
  • 1
  • 2

1 Answers1

0

you can use Django signals for that eg.

from django.db.models.signals import post_save
def create_userscore(sender, instance, **kwargs):
    if created:
        UserScore.objects.create()
post_save.connect(create_userscore(), sender=Exam)

this will create a UserScore object everytime Exam objects get created

gagan trivedi
  • 404
  • 4
  • 11
  • this methode will implemented in exam class or userscore classe ? – Mido Jul 02 '18 at 12:28
  • because you have to pass the instance of user – gagan trivedi Jul 02 '18 at 13:09
  • Thanks for your help, i dont want to create all userscore object everytime Exam is created, i want just create one new field exemple : new exam = new resultat – Mido Jul 02 '18 at 13:09
  • I didn't get your question actually, but as far as i can understand your question you can add the resultat field to Exam model . – gagan trivedi Jul 02 '18 at 13:20
  • Thks you, just for more clarification, what i need is when i'm on the admin page for my website i want when i create new exam for all users i need new resultat field be created automatically in my userscore table this is my purpose for example : new exam 1 = new resultat 1 new exam 2 = new resulatat 2 etc...... – Mido Jul 02 '18 at 13:40