Как заполнить столбец внешнего ключа в одной из модели / таблицы Django значением родительской таблицы? - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть модель 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()

Каким должен быть фрагмент строки для заполнения столбца status_ID второй таблицы всегда 2?

Модель имеет следующие определения: -

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 голосов
/ 03 сентября 2018

Вы можете сделать это:

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