Django Models: 创建/删除 Table,同步数据库

2020-05-21  本文已影响0人  捞小虾

Author: Xu FC
Django: 3.0.2
Python: 3.7.0

创建 Table


from django.db import models

class product_table(models.Model):
    product_name = models.CharField(max_length=20, editable=True)
    product_description = models.TextField(null=True)
python3 manage.py makemigrations
python3 manage.py migrate
MariaDB [TestManager]> show tables;
+----------------------------+
| Tables_in_TestManager      |
+----------------------------+
| Manage0_product_table      |
| auth_group                 |
| auth_group_permissions     |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| django_admin_log           |
| django_content_type        |
| django_migrations          |
| django_session             |
+----------------------------+
11 rows in set (0.001 sec)
MariaDB [TestManager]> desc Manage0_product_table;
+---------------------+-------------+------+-----+---------+----------------+
| Field               | Type        | Null | Key | Default | Extra          |
+---------------------+-------------+------+-----+---------+----------------+
| id                  | int(11)     | NO   | PRI | NULL    | auto_increment |
| product_name        | varchar(20) | NO   |     | NULL    |                |
| product_description | longtext    | YES  |     | NULL    |                |
+---------------------+-------------+------+-----+---------+----------------+
3 rows in set (0.009 sec)
➜  MProject python3 manage.py shell
>>> from Manage0.models import verified
>>> verified.objects.create(bugID='83128', product='ASF', version='1.0.2', tester='lihw', pm='xufc', ad
d_date='2020-01-19')
<verified: 83128>
>>> verified.objects.all()
<QuerySet [<verified: 84405>, <verified: 84732>, <verified: 83128>]>
>>> 

删除 Table


python3 manage.py makemigrations
python3 manage.py migrate

问题解决


问题:不小心先删掉了数据库中的表

python3 manage.py makemigrations
python3 manage.py migrate --fake

问题:django.db.utils.ProgrammingError: (1146, "xx doesn't exist")

django.db.utils.ProgrammingError: (1146, "Table 'TestManager.django_content_type' doesn't exist")
python3 manage.py makemigrations
python3 manage.py migrate
上一篇 下一篇

猜你喜欢

热点阅读