Python 当数据库已经有了表时,有没有更好的方法来创建模型
在我的MySQL数据库中,我已经有一个表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 | +----------+-------------+------+-----+---------+----------------+
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的某些版本,它的行为可能不符合预期。