如何用父表的值填充Django模型/表之一中的外键列?

时间:2018-09-03 07:52:43

标签: python django django-models

我有一个Django模型/ SQL表,它是静态的,将始终有4行,其中一列(ID)作为主键,如下所示

Status_ID  Status 
1          active
2          inactive
3          pending
4          deprecated

我有另一个Django模型,其中记录将每天插入,并且具有上表的外键(Status_ID),并且必须始终将status_ID设置为2。

ID My_code     status_ID Location
1   some code  2         India
2   other code 2         USA

我有下面的代码填充第二张表

T1= Table2(My_code='some code', Location='India')
T1.save()

应该始终用2填充第二张表的status_ID列的那一行是什么?

模型定义如下:-

class Table1(models.Model):
    Status_ID=models.AutoField(primary_key=True)
    Status=models.CharField(max_length=45, blank=True, null=True)

    class Meta:
        managed = True
        db_table = 'Table1'


Class Table2(models.Model):
    ID=models.AutoField(primary_key=True)
    My_code=models.CharField(max_length=45, blank=True, null=True)
    status_ID=models.ForeignKey('Table1', models.DO_NOTHING, blank=True, null=True)
    Location=models.CharField(max_length=45, blank=True, null=True)

    class Meta:
        managed = True
        db_table = 'Table2'

1 个答案:

答案 0 :(得分:1)

您可以这样做:

status = Table1.objects.get(Status="active")
T1= Table2(My_code='some code', Location='India', status_ID=status)
T1.save()