Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当数据库已经有了表时,有没有更好的方法来创建模型_Python_Mysql_Django_Django Rest Framework - Fatal编程技术网

Python 当数据库已经有了表时,有没有更好的方法来创建模型

Python 当数据库已经有了表时,有没有更好的方法来创建模型,python,mysql,django,django-rest-framework,Python,Mysql,Django,Django Rest Framework,在我的MySQL数据库中,我已经有一个表fo_dic mysql> desc fo_dic; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+

在我的MySQL数据库中,我已经有一个表
fo_dic

mysql> desc fo_dic;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(11)     | NO   | PRI | NULL    | auto_increment |
| name     | varchar(30) | YES  |     | NULL    |                |
| desc     | text        | YES  |     | NULL    |                |
| author   | varchar(20) | YES  |     | NULL    |                |
| priority | int(5)      | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
现在我想由Django创建FoDic模型 用于Django Rest框架对数据进行ORM

from django.db import models

class FoDic(models.Model):

    id = models.IntegerField()
    name = models.CharField()
    desc = models.TextField()
    author = models.CharField()
    priority = models.IntegerField()

    def __str__(self):
        return self.name
    def __unicode__(self):
        return self.name
我想知道当我同步数据库时,这是否会生成迁移,然后会有冲突?
有没有办法创建与MySQL表相同结构的模型

如果您已经设置了数据库,则可以从中自动生成模型:

python manage.py inspectdb > models.py
您不必担心迁移过程中的冲突,因为Django自己创建了它


有关详细信息,请参阅。

您可以将此属性添加到元类中

Class Meta:
     managed=false

将此添加到您的模型类中

我是否应该将生成的models.py的内容剪切到我的应用程序的models.py文件中?是的,您可以这样做。确保检查外键引用。因为对于MySql的某些版本,它的行为可能不符合预期。