在 Django 中使用数据库视图

2024-01-11

我看到了问题我可以在 django 中使用数据库视图作为模型吗 https://stackoverflow.com/questions/507795/can-i-use-a-database-view-as-a-model-in-django并在我的应用程序中尝试过,但这不起作用。

我创建了一个名为"vi\_topics"手动并且它有"id"列,但我不断收到错误,即使我明确添加了“id”字段,说

“没有这样的列:vi_topics.id”

这是我的模型的定义Vitopic:

from django.db import models

class Vitopic(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    author_name = models.CharField(max_length=200)
    author_email = models.CharField(max_length=200)
    view_count = models.IntegerField(default=0)
    replay_count = models.IntegerField(default=0)
    tags = models.CharField(max_length=255)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        db_table = 'vi_topics'

Note: 我用的是sqlite3。


尝试这个:http://docs.djangoproject.com/en/dev/ref/models/options/#management http://docs.djangoproject.com/en/dev/ref/models/options/#managed

managed

选项管理

Django 1.1 中的新增功能:请参阅发行说明

默认为True,这意味着Django将在syncdb中创建适当的数据库表,并作为重置管理命令的一部分将其删除。也就是说,Django 管理数据库表的生命周期。

如果为 False,则不会对该模型执行任何数据库表创建或删除操作。如果模型表示现有表或通过其他方式创建的数据库视图,这非常有用。这是管理为 False 时的唯一区别。模型处理的所有其他方面与正常情况完全相同。这包括

  1. 如果您未声明,则将自动主键字段添加到模型中。为了避免后来的代码读者感到困惑,建议在使用非托管模型时指定您正在建模的数据库表中的所有列。
  2. 如果 Managed=False 的模型包含指向另一个非托管模型的 ManyToManyField,则也不会创建多对多联接的中间表。但是,将创建一个托管模型和一个非托管模型之间的中间表。

    如果您需要更改此默认行为,请将中间表创建为显式模型(根据需要使用托管集)并使用 ManyToManyField.through 属性使关系使用您的自定义模型。

对于涉及包含 Managed=False 的模型的测试,您需要确保在测试设置过程中创建正确的表。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Django 中使用数据库视图 的相关文章

  • 如何将两个django模型(表)合并为一个模型(表)

    我想合并两个 django 模型并创建单个模型 我们假设 我有第一个表表 A 其中包含一些列和数据 Table A col1 col2 col3 col4 x1 x2 x3 x4 y1 y2 y3 y4 我还有另一个表 Table B 其中
  • 从数据库中删除重复的行

    我需要从数据库中删除重复的行 我可以用简单的sql查询来完成吗 如果没有 请告诉我一些快速算法来做到这一点 Example id field one field two 1 0000000 11111111 2 2222222 333333
  • 非关系数据库设计[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有兴趣了解您使用过的设计策略非关系型 nosql 数据库 也就是说 不使用传统关系设计或 SQL 的 大多数是新的 数据存储类 例如
  • Django 迁移 RunPython 无法调用模型方法

    我正在使用以下命令创建数据迁移RunPython方法 但是 当我尝试在对象上运行方法时 没有定义任何方法 是否可以使用调用模型上定义的方法RunPython 模型方法在迁移中不可用 包括数据迁移 然而 有一个解决方法 它应该与调用模型方法非
  • 在 django 中为现有数据库表创建模型

    我的数据库中有一个旧表 我想在 Django 应用程序中创建一个模型 创建模型后 我使用 migrate 命令 然后它创建了一个具有自己名称的新表 Django 提供了一个实用程序 可以通过检查数据库命令从现有数据库自动生成模型 您可以通过
  • 限制 sqlite 表的最大行数

    我希望实现一种 活动日志 表 其中用户执行的操作存储在 sqlite 表中 然后呈现给用户 以便他们可以看到他们所做的最新活动 然而 自然地 我觉得没有必要保留每一个历史记录 所以我想知道是否有一种方法可以配置表以在达到最大设置限制后开始修
  • 使用 Greasemonkey 时存储数据

    使用 Greasemonkey 时是否有存储大量数据的好方法GM setValue只是没有削减它 那么这里有一些选项 设置服务器来保存数据 对于用户 并使用 xhr 来 创建 编辑 删除数据 谷歌应用程序 发动机 GAE http code
  • 如何在 PostgreSQL 中将数据库从一台服务器移动到另一台服务器?

    我正在尝试将数据库从旧服务器移动到新服务器 任何帮助 将不胜感激 Just pipe http www postgresql org docs current interactive migration html从旧服务器转储到新服务器 p
  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • 如何跨多个表强制执行 CHECK 约束

    我有一个在 Microsoft SQL Server 2012 Express 中记录奶牛繁殖信息的数据库 显然 一头牛只有在出生后才能配种 并且在其一生中可能会配种多次 我需要在我的数据库中强制执行这些约束 我目前已经根据下图安排了一个架
  • 使用Python将文本文件导入Access 2003数据库

    我正在尝试使用我正在开发的 Python 3 4 应用程序将管道分隔的文本文件导入到具有现有表的 Access 数据库中 但遇到了一些麻烦 该应用程序将用于导入不同的文本文件 因此我使用条目小部件来写入文件名 并且我希望将输入的文件的内容加
  • 用于捕获审计跟踪的数据库设计的想法[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 如何维护数据库中的数据日志 我必须维护对每一行所做的每次更改的日志 这意味着我不能允许DELETE and UPDATE待执行 我怎样才能保留这
  • 串行类型的外键 - 确保始终手动填充

    我有两个表 国家和地区 CREATE TABLE Countries id SERIAL name VARCHAR 40 NOT NULL PRIMARY KEY id CREATE TABLE Regions id SERIAL coun
  • 数据库表设计

    我在选择数据库表的变量类型时遇到问题 有人可以给我一些关于如何选择类型的一般准则吗 以下是我的一些问题 用户 ID 应该是什么 INT 看起来很小 因为设计时应该考虑到大量用户 那么如果不是 INT 还有什么呢 大整数 VARCHAR 难道
  • Sequelize.js 中的自定义或覆盖连接

    我需要使用创建自定义连接条件Sequelize js http sequelizejs com使用 MSSQL 具体来说 我需要加入TableB基于一个COALESCE中的列的值TableA and TableB并最终得到这样的连接条件 L
  • Django User 模型,添加功能

    我想向 Django 的默认用户模型添加一个新函数 用于检索模型类型的相关列表 这样的 Foo 模型 class Foo models Model owner models ForeignKey User related name owne
  • 数据库字段中的逗号分隔值

    我有一个产品表 该表中的每一行对应一个产品 并由唯一的 ID 标识 现在 每个产品都可以有多个与该产品关联的 代码 例如 Id Code 0001 IN ON ME OH 0002 ON VI AC ZO 0003 QA PS OO ME
  • SQLAlchemy 相当于 Django ORM 的关系跨越过滤器

    这个例子来自于Django 文档 https docs djangoproject com en 1 3 topics db queries 给定 Django 数据库模型 class Blog models Model name mode
  • SQLite中的ROWID是自动设置的吗?

    所以 我在 Ionic 上有这个应用程序 它使用SQLite ngCordova 插件 https github com litehelpers Cordova sqlite storage用于内部存储 在其上 我使用以下命令创建一个表 d
  • Flutter 中有预填充数据库使用的示例吗?

    Flutter 中有预填充数据库使用的示例吗 我不需要 CRUD 示例 此时我只需要从数据库读取数据即可 我是 Flutter 新手 所以一步一步的教程会很好 您可以将您的应用程序与预填充的 sqlite 数据库捆绑在一起assets文件夹

随机推荐

  • Laravel 5.3 安装错误

    我正在尝试启动本地托管在我的浏览器上的 laravel 但它给了我以下错误 解析错误 语法错误 意外的 期望 或变量 T VARIABLE 在 opt lampp htdocs projects larawiz vendor laravel
  • [if lt IE 9] 的 Slim 模板引擎语法

    我使用 slim 作为视图模板引擎http slim lang com http slim lang com 你会如何用 slim 编写下面的代码 thanks 应该使用 if lt IE 9 gt
  • 从字符串中提取Python字典

    我有一个字符串 里面有有效的 python 字典 data Some string created Foo u 1002803 Bar value string continue etc 我需要提取该字典 我尝试使用正则表达式 但由于某种原
  • 如何在 C 中访问(动态分配的)Fortran 数组

    我的主要问题是为什么数组会做如此奇怪的事情 以及是否有任何方法可以以 干净 的方式执行以下操作 我目前有一个C程序foo c连接 Fortran 程序bar f90 via dlopen dlsym 大致如下面的代码所示 foo c inc
  • 无法连接到远程服务器上的mongo

    我已经在machine1上安装了mongo Ubuntu 14 04 3 LTS server 在我的本地网络中 我也打开了端口27017如中提到的this https docs mongodb org manual tutorial co
  • android 卸载应用程序后保留数据库

    我正在开发 sq lite 数据库 可以在其中找到三星设备中的问题 当我卸载应用程序时 Android 操作系统会保留导致数据库版本冲突的数据库 以前我使用版本 2 现在我使用版本 1 作为参数sqllitehelper构造函数 按照惯例
  • Tensorflow.js 加载增强层操作时出错

    我通过 python 中的张量流训练了一个模型 使用将图像增强合并到模型层中 但是 当我将训练好的模型转换为tensorflow js model json 并运行它时 出现错误 jquery 3 3 1 slim min js 2 Unc
  • 如何在 Zend Framework 中创建 Web 服务?

    如何使用 Zend Framework 通过 HTTP REST 协议创建 Web 服务 示例代码将会很有用 要调用此 Web 服务 请使用以下参数打开保存此 PHP 文件的 URL 这将给出输出 Hello world Test
  • 使用 FineUploader 向 Amazon S3 提供标头

    我正在使用 FineUploader 将文件上传到 Amazon S3 我想添加Content Disposition文件头 我已经尝试过这个 在 CoffeeScript 中 request endpoint accessKey cust
  • 拨号 tcp 查找:docker windows 桌面上没有此类主机问题

    我已经在我的办公室 Windows 10 Pro 机器上安装了 docker 我在尝试从注册表中提取数据时遇到拨号 tcp 查找问题 来自守护进程的错误响应 获取https registry 1 docker io v2 https reg
  • 如何在 C# 中使用 p/invoke 将指针传递给数组?

    C API 签名示例 void Func unsigned char bytes 在 C 中 当我想将指针传递给数组时 我可以这样做 unsigned char bytes new unsigned char 1000 Func bytes
  • Azure CLI aks install cli 权限被拒绝并且 sudo 不起作用

    我正在尝试奔跑az aks install cli但我收到一条错误消息 Downloading client to usr local bin kubectl from https storage googleapis com kubern
  • 正则表达式:捕获捕获组内的捕获组

    Intro 您可以跳至如果什么 如果您对介绍感到厌倦 这个问题并不是特别针对VBScript 我只是在这种情况下使用它 我想找到一个用于一般正则表达式使用 包括编辑器 的解决方案 当我想创作一个改编版时 这一切就开始了示例 4 其中使用 3
  • Django:自定义序列化选项?

    我正在开发一个基于 Django 的 Web 服务 并且正在尝试找出进行序列化的最佳方法 然而 棘手的要求是我希望对响应的格式和包含的字段有几乎完全的控制 例如 Django 序列化器 不幸的是 它包括wadofstuff 序列化器 htt
  • 未定义的方法“空白?”对于“123”:字符串(NoMethodError)

    当我检查 ruby 中的类变量时 我收到这个奇怪的错误 未定义的方法 空白 对于 123 字符串 NoMethodError 我所做的就是Employee set id blank 有什么想法为什么会发生这种情况吗 Thanks The b
  • 如何从 std::integer_sequence 初始化静态数组?

    我为枚举制作了一个符合以下规则的可迭代生成器 Enum 是一个整数序列 没有间隙 给定枚举的最后一个元素不是实际的枚举元素 该类看起来像这样 template
  • 使用 Spark 安全查询。带参数的sql查询表示法

    这个问题是指构建 pyspark 作业来处理大型数据集 Spark提供了多种查询方式 函数表示法和 SQL 表示法 这个问题仅限于 Spark SQL 符号 模式 一个常见的模式是 df spark sql f select from so
  • docker-compose up 和标准输入上的用户输入

    有人可以解释 也许给出解决方法 docker compose 的以下行为吗 给定以下文件 Dockerfile FROM alpine 3 8 COPY entrypoint sh entrypoint sh ENTRYPOINT entr
  • 转发初始值设定项列表表达式

    初始化列表表达式对于初始化 C 容器来说非常方便 std vector
  • 在 Django 中使用数据库视图

    我看到了问题我可以在 django 中使用数据库视图作为模型吗 https stackoverflow com questions 507795 can i use a database view as a model in django并