你可以强制在django中的另一个模型中创建记录时将记录添加到一个模型中

时间:2015-09-06 06:59:01

标签: django python-3.x

我有两个班级:班级和职位。

# Reference Table Class
class Class(models.Model):
    unit_type = models.CharField(max_length=30)
    unit_name = models.CharField(max_length=20, unique=True)
    unit_description = models.CharField(max_length=5000)

    def __str__(self):
        return self.unit_name


# Reference Table Position
class Position(models.Model):
    Position_name = models.CharField(max_length=30, unique=True)
    Position_description = models.CharField(max_length=5000)
    Max_count = models.IntegerField()
    unit_class = models.ManyToManyField(Class, through='ClassPosition')

    def __str__(self):
       return self.Position_name

创建一个Class(未更新)时,我想强制在Position表中创建一个记录。我该怎么做?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用post_save信号或overriding the model's save()方法执行此操作。

post_save() signal方法中,您可以使用created参数来确定它是新对象还是更新对象。在重写save()方法中,可以使用以下条件完成:if not self.pk: