Django def save() in models.py

У меня есть эта функция postgres

    SELECT CONCAT(f_office_id,f_sy,f_sem,'-',office_serial) INTO office_lastnumber from curriculum.clearing_office
    where office_id=f_office_id;

    UPDATE curriculum.clearing_office SET office_serial =office_serial+1 where office_id=f_office_id;

При сохранении элемента создается cl_itemid test2021-20221-1. Затем в таблице clearing_office столбец office_serial увеличивается на +1, поэтому следующий сохраненный элемент будет test2021-20221-2

        {
        "studid": "4321-4321",
        "office": "test",
        "sem": "1",
        "sy": "2021-2022",
    }

Как я могу воссоздать это, но в django models.py

class Item(models.Model):
cl_itemid = models.CharField(primary_key=True, max_length=20)
studid = models.CharField(max_length=9, blank=True, null=True)
office = models.ForeignKey('ClearingOffice', models.DO_NOTHING, blank=True, null=True)
sem = models.CharField(max_length=1, blank=True, null=True)
sy = models.CharField(max_length=9, blank=True, null=True)

class Meta:
    managed = False
    db_table = 'item'
Вернуться на верх