【问题标题】:Delete a database row in Django SQLITE3 database删除 Django SQLITE3 数据库中的数据库行
【发布时间】:2016-09-05 23:51:18
【问题描述】:

如何在解释器级别删除 Django 数据库中的一行。我正在对数据库进行故障排除,我希望能够定位 Django sqlite3 数据库中的特定行。

目前我可以在数据库中创建如下条目:

>> Item.objects.create(text='Item A')

我可以使用以下方法在数据库中查看:

>> for p in Item.objects.raw('SELECT * FROM appName_model'):
...    print(p.text)
...

我正确地获取了数据库内容(它们的文本字段)。

在按索引、文本字段或其他属性定位特定行时遇到问题。我直接在 Python 解释器上进行故障排除。

【问题讨论】:

    标签: django database sqlite delete-row


    【解决方案1】:
    Item.objects.get(text='Item A').delete()
    

    编辑:

    顺便说一下,Django 有更多与模型交互的方法。例如,遍历 Item 对象:

    for item in Item.objects.all():
        print item.name
    

    来源:https://docs.djangoproject.com/en/1.9/topics/db/queries/

    【讨论】:

    • 这行得通,谢谢。虽然我必须添加,但我得到了一个错误(django.core.exceptions.AppRegistryNotReady:模型尚未加载),通过在命令行 python 中的删除之前添加解决:[[stackoverflow.com/questions/25537905/…]]解释器:>> from django.core.wsgi import get_wsgi_application >> application = get_wsgi_application()
    • 太棒了!而且...您可以使用python manage.py shell 为您执行此操作。
    • 如何删除第一个元素、第二个元素等?
    • Item.objects.all()[0].delete()Item.objects.all()[1].delete() 等等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 1970-01-01
    相关资源
    最近更新 更多