1 个 django 应用程序中约有 20 个模型

2024-03-23

我已经开始为自己开发一个通过浏览器运行的本地应用程序。最近读完 django 教程后,我认为使用 django 而不是简单的 python 可能会更好。

有一个问题:我至少有 20 个模型,每个模型都有很多功能。很简单,它将创建一个巨大的模型文件,并且可能还会创建一个巨大的视图。我如何将它们分开?

The 模型都是相关的 http://woarl.com/images/entity%20chart.png所以我不能简单地将它们制作成单独的应用程序,可以吗?


这是一个非常常见的需求...我无法想象要费力地浏览一个 10,000 行长的 models.py 文件:-)

您可以拆分models.py文件(以及views.py)到一个包中。在这种情况下,您的项目树将如下所示:

/my_proj
    /myapp
        /models
            __init__.py
            person.py

The __init__.pyfile 使文件夹成为一个包。唯一的问题是一定要定义一个内部Meta模型的类,指示模型的 app_label,否则 Django 将无法构建您的架构:

class Person(models.Model):
    name = models.CharField(max_length=128)

    class Meta:
        app_label = 'myapp'

完成后,将模型导入到您的__init__.py文件以便 Django 和同步数据库能够找到它:

from person import Person

这样你仍然可以做from myapp.models import Person

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

1 个 django 应用程序中约有 20 个模型 的相关文章

  • Flask 中“缺少 CSRF 令牌”,但它在模板中呈现

    问题 当我尝试登录 使用 Flask login 时 我得到Bad Request The CSRF session token is missing但令牌正在呈现 在模板中 secret key 已设置 并且我在本地运行localhost
  • 为什么在访问 Python 对象属性时使用 getattr() 而不是 __dict__ ?

    在具有一定程度的 Python 对象自省的源代码示例和 SO 答案中 常见的模式是 getattr some object attribute name string 是否有理由优先选择这种模式 some object dict attri
  • 为什么在连接两个字符串时 Python 比 C 更快?

    目前我想比较 Python 和 C 用来处理字符串的速度 我认为 C 应该比 Python 提供更好的性能 然而 我得到了完全相反的结果 这是 C 程序 include
  • 将 Python Pandas DataFrame 写入 Word 文档

    我正在努力创建一个使用 Pandas DataFrames 的 Python 生成的报告 目前我正在使用DataFrame to string 方法 但是 这会作为字符串写入文件 有没有办法让我实现这一目标 同时将其保留为表格 以便我可以使
  • 查找正在导入哪些 python 模块

    从应用程序中使用的特定包中查找所有 python 模块的简单方法是什么 sys modules是将模块名称映射到模块的字典 您可以检查其键以查看导入的模块 See http docs python org library sys html
  • 在linux上安装python ssl模块,无需重新编译

    是否可以在已经安装了 OpenSSL 的 Linux 机器上安装 python 的 SSL 模块 而无需重新编译 python 我希望它就像复制几个文件并将它们包含在库路径中一样简单 Python版本是2 4 3 谢谢 是否可以在已经安装了
  • 如何从hdfs读取文件[重复]

    这个问题在这里已经有答案了 我在 project1目录下的hadoop文件系统中有一个文本文件名mr txt 我需要编写 python 代码来读取文本文件的第一行 而不将 mr txt 文件下载到本地 但我无法从 hdfs 打开 mr tx
  • 设置高亮大括号的 vim 颜色主题

    如何更改突出显示大括号的 vim 配色方案 我希望实际编辑 vim 主题文件以使更改永久生效 问候 克雷格 匹配括号的自动高亮颜色称为MatchParen 您可以通过执行以下操作来更改 vimrc 中的颜色 highlight MatchP
  • 查找与另一列 Pandas 中的唯一值关联的列中的值的交集

    如果我有一个像这样的数据框 非常小的例子 col1 col2 0 a 1 1 a 2 2 b 1 3 b 2 4 b 4 5 c 1 6 c 2 7 c 3 我想要所有的交集col2当价值观与其独特性相关时col1值 因此在这种情况下 交集
  • Py2exe - Pmw WindowsError:[错误 3]

    我正在尝试使用 Py2exe 构建独立的可执行文件 我已经导入了 Pmw 类 当我运行独立可执行文件时 出现以下错误 Traceback most recent call last File py line 9 in
  • 在请求中设置端口

    我正在尝试利用cgminer使用 Python 的 API 我对利用requests图书馆 我了解如何做基本的事情requests but cgminer想要更具体一点 我想缩小 import socket import json sock
  • 数据框中 .map(str) 和 .astype(str) 有什么区别

    我有一个数据框 其列名为 col1 和 col2 的整数类型条目 我想将 col1 和 col2 的条目以及其间的 点 连接起来 我搜索并发现添加两个列条目 df col df col1 map str df col2 map str 并添
  • 使用 if 语句的网格网格和用户定义函数的真值不明确

    假设我有一个函数f x y 足够光滑 然而 有些值仅在有限的意义上存在 以sin x x的价值x 0只存在于极限 x gt 0 中 在一般情况下 我用一个来处理这个问题if陈述 如果我在情节中使用它meshgrid我收到一条错误消息 Val
  • 是否可以在Python中将日+月(不是年)与当前日+月进行比较?

    我正在获取 5 月 10 日 格式的数据 我试图弄清楚它是今年还是明年 该日期仅一年 因此 5 月 10 日表示 2015 年 5 月 10 日 而 5 月 20 日表示 2014 年 5 月 20 日 为此 我想将字符串转换为日期格式并进
  • 如何获取分类数据的分组条形图

    I have a big dataset with information about students And I have to build a graph of dependencies between different value
  • 如何在matplotlib中调整x轴

    I have a graph like this x轴上的数据表示小时 所以我希望x轴设置为0 24 48 72 而不是现在的值 很难看到 0 100 之间的数据 fig1 plt figure ax fig1 add subplot 11
  • Python 2.7 缩进错误[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题是由拼写错误或无法再重现的问题引起的 虽然类似的问题可能是on topic help on topic在这里 这个问题的解决方式不
  • 没有名为“turtle”的模块

    我正在学习并尝试用Python3制作贪吃蛇游戏 我正在进口海龟 我正在使用 Linux mint 19 PyCharm python37 python3 tk Traceback most recent call last File hom
  • 如何使用 Python/Django 在 Facebook 中获取(和使用)扩展权限

    我正在尝试编写一个简单的应用程序 让用户授予我的代码写入其页面的 Facebook 流的权限 据我了解 它应该很简单 让用户单击一个按钮 启动一个弹出窗口 其中包含我的 Facebook 应用程序中的页面 在该页面中 他们单击授予的内容流发
  • MoviePY 无法在 Windows 上检测 ImageMagick 二进制文件

    我刚买了一台新笔记本电脑 想要设置MoviePY在那新的Windows 64x Python3 7 0 机器 我对所有内容都进行了三次检查 但是当涉及到我的代码的文本部分时 它向我抛出了这个错误 OSError MoviePy Error

随机推荐

  • 在 Fabric 中作为 sudo 执行

    我有一个命令service app start demo需要我输入sudo service app start demo在命令行中 I used sudo service app start demo and sudo sudo servi
  • Flutter setState 改变,但不重新渲染

    我创建了一个简单的屏幕 它接受字母列表并将它们呈现在网格中 我有一个带有随机播放方法的按钮 可以随机播放此列表 在我的构建方法中 我看到状态正在使用新列表进行更新 并且每次按下按钮时都会打印出一个随机列表 但屏幕不会改变 class Let
  • 有没有一种方法可以在不添加 throws 声明的情况下抛出异常?

    我有以下情况 我有一个 Java 类 它继承自另一个基类并重写一个方法 基本方法不会抛出异常 因此没有throws 宣言 现在我自己的方法应该能够抛出异常 但我可以选择 吞掉异常或 添加抛出声明 两者都不令人满意 因为第一个会默默地忽略异常
  • Microsoft Edge,媒体查询无法正常工作

    我在 Google Chrome 上成功测试了此媒体查询 但不知何故 Microsoft Edge 存在问题 这些查询有问题吗 或者这只是 Microsoft Edge 中的一个错误 UPDATE 看起来 Edge 需要一个没有媒体查询的类
  • 查找背包中的物品

    我想用C 递归地解决背包问题 这是我的代码 public int f int n int remain if n lt 0 return 0 if w n gt remain Thread VolatileWrite ref check n
  • as3crypto 的 sha1 哈希值与 PHP 生成的哈希值不同

    使用 as3 中的 as3crypto 从字符串 12345 生成 SHA1 哈希 与示例中的操作方式相同 var sha1 SHA1 new SHA1 var src ByteArray Hex toArray 12345 var dig
  • SCons 库和子库

    我有一个基于 SCons 的分层构建系统 我有一个根 SConstruct 它调用一个构建共享库的 SConscript 然后调用另一个构建依赖于共享库的可执行文件的 SConscript 所以这是我的问题 我对linux上共享库的理解是
  • 与目标虚拟机断开连接,地址:“127.0.0.1:62535”,传输:intellij idea CE 上的“socket”。我无法调试我的程序。有什么建议么?

    连接到目标VM 地址 127 0 0 1 63073 传输 socket 与目标虚拟机断开连接 地址 127 0 0 1 63073 传输 socket 我有同样的问题 我注意到应用程序上没有设置下拉菜单 看一下这个
  • C指针指针和段错误

    下面是我用 C 编写的简单链表 我的问题是在 headRef newNode 中这会导致分段错误 然后我尝试 headRef newNode 这解决了seg错误问题 尽管这两行代码在我看来似乎以相同的方式工作 但为什么一行代码会导致段错误
  • Android 以编程方式接听电话

    是否可以以编程方式在android中接听电话 我发现有些地方不可能 但随后安装了应用程序https play google com store apps details id com a0softus autoanswer https pl
  • JqueryUI可排序滚动问题

    我已经初始化了 items作为jquery可排序 使项目列表可排序 items是父 div 的子 div content 父级div content最大高度设置为 40 并且允许在溢出时滚动 这是CSS content parent div
  • Clojure ^floats 与 #^floats?

    有什么区别 floats and floats在 Clojure 类型注释中 在拉取请求中 有人建议我使用此注释 put floats init fft array 这确实有效 但我不知道为什么会有 我发现这也有效 put floats i
  • ScrollView 根本不滚动

    我无法使 ScrollView 正确滚动 它总是切断底部的内容 就好像它是一个普通的 LinearLayout 一样 My code
  • 我会被这个代码攻击吗?

    我购买了一个脚本 其中有一些奇怪的代码 我是一名 PHP 初学者 但对清理输入数据之类的事情略知一二 这是代码
  • 如何判断代码是否将在 Blazor 的客户端或服务器上运行?

    我是 Blazor 开发的新手 我可能在这里遗漏了一些明显的东西 但是搜索 google 阅读文档和搜索此网站并没有为我找到答案 出于安全原因 我需要确保一些代码在服务器端运行 例如散列密码 我知道 Blazor 通常会自动确定代码的运行位
  • Asp.net Viewstate不保存控件的样式

    我读过 asp net 中的视图状态存储以下值控制属性跨回发 假设我有一个带有文本框的页面
  • JQgrid 从列中保存和恢复对象

    可以将复杂的对象保存到列中并在之后恢复它 这是一个例子 杰森 datamain mydata address data1 15 data2 0 0 data3 1000 Jqgrid jQuery rowed5 jqGrid datatyp
  • 如何在检索 ListView 项目时显示“正在加载...”文本

    还有一些其他应用程序可以执行此操作 例如 Twitter Facebook 甚至是 Android Market 等本机应用程序 当您想要显示从互联网检索到的项目列表时 这看起来像是向用户显示有关正在进行的操作的一些通知的标准方法 这是一个
  • Apache 上不带尾部斜杠的虚荣 URL

    下面的代码重写了我们网站上 profiles 目录中的所有 URLexample com profiles name to example com name 但我们还想删除结尾的斜杠 以进一步简化生成的 URL 使其更漂亮example c
  • 1 个 django 应用程序中约有 20 个模型

    我已经开始为自己开发一个通过浏览器运行的本地应用程序 最近读完 django 教程后 我认为使用 django 而不是简单的 python 可能会更好 有一个问题 我至少有 20 个模型 每个模型都有很多功能 很简单 它将创建一个巨大的模型