Django добавляет новое поле в модель, если новый объект создается из другой модели
У меня есть две модели:
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 ответ
Вы можете использовать сигналы Django для этого, например.
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 каждый раз, когда создаются объекты экзамена