Django добавляет новое поле в модель, если новый объект создается из другой модели - PullRequest
0 голосов
/ 02 июля 2018

У меня есть две модели:

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)

Когда я создаю новый экзамен, создаю динамически, я хочу новое поле в моей модели usercore для всех пользователей.

1 Ответ

0 голосов
/ 02 июля 2018

вы можете использовать сигналы Джанго для этого например.

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)

это будет создавать объект UserScore каждый раз при создании объектов экзамена

...