将ForeignKey映射到另一个类

时间:2018-07-06 14:34:42

标签: python django django-models

这是我的Django Models.py

class Test1(models.Model):
    id = models.AutoField(db_column='Id', primary_key=True)  
    name = models.TextField(db_column='Name', blank=True, null=True)  

class Test2(models.Model):
    id = models.AutoField(db_column='Id', primary_key=True) 
    sequence = models.IntegerField(db_column='Sequence') 
    test1id = models.ForeignKey('Test1', models.DO_NOTHING,null=False, db_column='Test1Id')

我要做的是确保保存Test1 id时,它会自动填写test1id。

2 个答案:

答案 0 :(得分:0)

不确定在这里要做什么,但是如果要对模型实施任何后保存操作,请查看django signals。尤其是在post_save信号处。

以下是模型post_save的{​​{1}}信号用法示例(假设您要创建新的Test1对象):

Test2

答案 1 :(得分:0)

您可以重新定义保存方法:

def save(self, **kwargs):
    if self.pk is None:
        super(Test1, self).save()
        Test2.objects.create(test1id=self)
    else:
        super(Test1, self).save()

因此,当您保存Test1时,将创建一个Test2条目