如果从另一个模型创建新对象,则Django在模型上添加新字段

时间:2018-07-02 10:56:33

标签: mysql django django-models django-mysql

我有两个模型:

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)

当我动态创建新考试时,我希望所有用户的用户评分模型上都有一个新字段。

1 个答案:

答案 0 :(得分:0)

您可以为此使用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对象