小编abh*_*Dad的帖子

如何获取Django模型中自动生成的主键ID

我有一个DB Schema,我从一些遗留代码继承而来.现在我们打算使用Django将表格反映到模型中.这意味着我不能使用django模型生成表.表模式如下所示: -

mysql> desc student_profile;
+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| id          | int(11)     | NO   | PRI | NULL    | auto_increment |
| joining_on  | datetime    | YES  |     | NULL    |                |
| brothername | varchar(45) | YES  |     | NULL    |                |
+-------------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)
Run Code Online (Sandbox Code Playgroud)

现在我为这个模式创建的Django模型如下所示: -

class StudentProfile(models.Model):
    id=models.IntegerField(primary_key=True)
    joining_on=models.DateField()
    brothername=models.CharField(max_length=45)

    class Meta:
        db_table="student_profile"
Run Code Online (Sandbox Code Playgroud)

当我在其中插入一行时,如下所示: -

StudentProfile.objects.insert(brothername="Bro")
Run Code Online (Sandbox Code Playgroud)

该行已正确插入.但我没有办法提取id字段.看来,由于此字段不是a AutoField,django不会复制MySql自动生成的id.我该怎么做才能获得id …

django django-models

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

django ×1

django-models ×1