检查以检查 Django 中是不是存在数据库表?

Posted

技术标签:

【中文标题】检查以检查 Django 中是不是存在数据库表?【英文标题】:check to check DB tables exists in Django?检查以检查 Django 中是否存在数据库表? 【发布时间】:2021-05-24 01:14:43 【问题描述】:

我为产品写了这个表格,里面有所有品牌,然后为品牌输入设置选择列表

class ProductForm(forms.ModelForm):

class Meta:
    BRAND_CHOICE = Brand.objects.all()
    model = Product
    fields = '__all__'
    widgets = 
        'brand': forms.Select(choices=BRAND_CHOICE),
     

但运行时出错

python manage.py 迁移

我犯的一个错误

django.db.utils.OperationalError: no such table: app_product_brand

那么我如何检查数据库,如果表存在然后查询数据库?

【问题讨论】:

在运行 migrate 之前是否运行了python manage.py makemigrations 【参考方案1】:

如果你有这个模型,你可以检查你的 models.py app_product_brand ,如果你已经有做

python manage.py makemigrations
python manage.py migrate app_product_brand

如果没有,您可以使用此检查所有表

from django.db import connection
all_tables = connection.introspection.table_names()

【讨论】:

以上是关于检查以检查 Django 中是不是存在数据库表?的主要内容,如果未能解决你的问题,请参考以下文章

检查mysql表php中是不是存在任何记录

检查是不是存在 SQL 表

Flask-SQLAlchemy 检查表中是不是存在行

检查数据库 MySQL 中是不是存在值数组

Django:检查实例是不是存在于用户数据库中并保存到应用模型数据库

Oracle - 在删除其他表中的几行之前检查行是不是存在