django_content_type表数据如何新增

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dqchouyang/article/details/81517822

django项目对应的 django_content_type 表和auth_permission 表的数据是如何新增的呢?

举个例子:

class A(models.Model):
    a = models.CharField(verbose_name=u'测试', max_length=2)

    class Meta:
        db_table = "a"

    def __unicode__(self):
        return "{0}".format(self.id)

当我分别执行命令后

python manage.py makemigrations  # 生成迁移文件
python manage.py migrate

你就可以在数据库中发现有数据新增了

mysql> select * from django_content_type;
+----+-----------------------------+------------------------------+
| id | app_label                   | model                        |
+----+-----------------------------+------------------------------+
|  1 | admin                       | logentry                     |
|  4 | auth                        | group                        |
|  2 | auth                        | permission                   |
|  3 | auth                        | user                         |
|  5 | relational_database_service | a                            |
+----+-----------------------------+------------------------------+

mysql> select * from auth_permission;
+-----+---------------------------------------------+-----------------+-------------------------------------+
| id  | name                                        | content_type_id | codename                            |
+-----+---------------------------------------------+-----------------+-------------------------------------+
| 115 | Can add a                                   |              5 | add_a                               |
| 116 | Can change a                                |              5 | change_a                            |
| 117 | Can delete a                                |              5 | delete_a                            |
+-----+---------------------------------------------+-----------------+-------------------------------------+

所以 migrate 命令已经很好的集成到django里了,对于django系统的权限管理问题,也很好的支持!

猜你喜欢

转载自blog.csdn.net/dqchouyang/article/details/81517822