问题标签 [django-models]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
37891 浏览

django - 如何在 Django 中拥有同一个模型的两个外键?

我想对同一个模型有两个外键:

我收到如下错误:

字段“example1”的访问器与相关字段“Example.test_set”冲突。将related_name 参数添加到“example1”的定义中。

0 投票
1 回答
4650 浏览

python - Django Model API通过中间表反向查找多对多关系

我有一个居民,但似乎无法获得该居民所属的 SSA 集。我试过res.ssa_set.all() .ssas_set.all().ssa_resident_set.all()。好像管不了 通过另一个表进行反向 m2m 查找的语法是什么?

编辑:我收到“QuerySet as no attribute”错误。嗯?

0 投票
4 回答
10182 浏览

django - 模型中 _set 的 Django 管理器

我目前正在学习 Django,但我不知道如何自己解决这个问题。我正在阅读Developers Library - Python Web Development With Django一书,在一章中,您构建了一个简单的 CMS 系统,其中包含两个模型(故事和类别)、一些通用视图和自定义视图以及视图模板。

本书只包含列出故事、故事细节和搜索的代码。我想对此进行扩展并构建一个包含类别和故事的嵌套列表的页面。

我设法弄清楚如何为类别列表添加我自己的通用 object_list 视图。我的问题是,如果 Story 是否公开,Story 模型具有 STATUS_CHOICES,并且默认情况下只会获取公共 Stories 的自定义管理器。我不知道如何告诉我的通用类别列表视图也使用自定义管理器并且只获取公共故事。除了那个小问题,一切正常。我可以为所有类别创建一个列表,并在单个页面上为该类别中的所有故事创建一个子列表,唯一的问题是该列表包含非公开故事。

我不知道我是否在正确的轨道上。我的 urls.py 包含一个通用视图,它获取所有 Category 对象,在我的模板中,我使用category.story_set.all来获取该类别的所有 Story 对象,然后循环遍历。

我认为可以在模板中添加一个 if 语句并使用我的模型文件中的 VIEWABLE_STATUS 来检查它是否应该被列出。该解决方案的问题在于它不是非常兼容 DRY。

是否也可以为 Category 模型添加某种管理器,仅在使用 category 上的 story_set 时才会获取公共 Story 对象?

或者这是攻击我的问题的错误方法?

相关代码

urls.py(仅类别列表视图):

模型.py:

category_list.html(相关模板):

0 投票
3 回答
4904 浏览

python - Django 项目结构,推荐的结构以在应用程序之间共享扩展的身份验证“用户”模型?

我想知道当用户模型扩展/子类化并且此结果用户模型在多个应用程序之间共享和使用时,常见的项目/应用程序结构是什么。

我想在多个应用程序中引用相同的用户模型。我还没有构建登录界面,所以我不确定它应该如何组合在一起。

想到以下几点:

这种情况有一个共同的模式吗?登录最好由“登录应用程序”处理吗?

类似于这个问题,但更具体。 django 应用程序配置

更新

澄清了我上面的用例。我想将字段(扩展或子类?)添加到现有的身份验证用户模型。然后在多个应用程序中引用该模型。

0 投票
6 回答
13217 浏览

django - 模型下一个可用的主键

我如何知道某个模型的下一个免费主键?

0 投票
3 回答
4340 浏览

django - 在 Django 中,不能在 ManyToManyField 上使用字符串连接吗?ManyToMany 不只是一个列表吗?

我的 Django 项目中有两个模型:

  • 匹配
  • 播放器

Match 有一个指向玩家的 ManyToMany 属性,因此多个玩家可以在一场比赛中竞争。我想在 Django 管理员中返回一个信息丰富的对象名称,例如“Richard Henry vs John Doe”,通过使用玩家全名的连接。但是以下失败:

ManyToManyFields 不只是列表吗?为什么我不能加入他们?任何输入表示赞赏。这是我的播放器模型,以防有帮助:

谢谢!

编辑:我刚刚发现我可以使用self.players.list_display它作为列表返回。我不再吐出回溯,但由于某种原因,__unicode__名称现在返回None. 知道为什么会这样吗?

编辑2:更改代码:

0 投票
6 回答
2173 浏览

jquery - 使用 Django/Python 将批量 .csv 数据上传到 webapp 的好方法是什么?

我有一个非常基本的 CSV 文件上传模块,可以将我的用户数据批量上传到我的网站。我使用在 crontab 上运行的 python 脚本在后端处理 CSV 文件,然后通过电子邮件向用户发送批量上传的结果。这个过程在操作上可以正常工作,但我的问题是 csv 文件的格式。

关于如何接受不同格式的 csv 文件,是否有好的工具甚至是基本规则?用户可能有不同的数据列顺序,列标题的名称略有不同(我希望电子邮件列标题为“电子邮件”,但它可能会显示“主要电子邮件”、“电子邮件地址”),或者缺少其他数据列。任何非常宽松且用户友好的 CSV 上传功能的好例子?

另外,我如何告诉用户导出为 CSV 数据?我正在导入通讯录信息,所以这些数据通常来自 Outlook、Thunderbird、其他有通讯录的软件包。我应该接受其他流行的数据格式吗?

0 投票
6 回答
30375 浏览

django - 使用相关表字段的 Django 模型默认排序顺序

是否可以将模型的默认排序顺序设置为来自相关模型(而不是整数键)的字段,即产生带有来自两个模型的字段的 SQL order by 子句的东西?如果是这样,怎么做?我可以通过 query_by 做到这一点,但我不知道如何默认设置它。谢谢。

0 投票
4 回答
4479 浏览

python - Django - 使用虚拟字段设计模型?

在 Django 中设计具有虚拟字段的模型时,我想问一下最优雅的方法......

假设我们正在建立一个在线商店,系统中的所有产品都由模型“产品”定义。

但是商店会有很多完全不相关的产品类型,所以我需要一些方法来存储不同产品类型的虚拟字段(即 MP3 播放器的容量,一本书的页数,..)。

到目前为止,我可以用我的原始 Django 技能提出的解决方案远非完美:

  • 拥有我手动管理的“custom_fields”属性和中间表。(在我脸上难看地尖叫:))

  • 或者使用 Python 危险的 exec-eval 语句动态地从“ Product ”继承类(这对于维护来说太巫术了,而且实现需要了解 Django 内部知识)。

你对此有何看法?

TIA。

0 投票
1 回答
350 浏览

django - In a django site I want to let users create other users that are tied to their accounts

I want to let a logged-in and registered user create extra user accounts that he will be the admin of. These accounts will be special "subordinate" accounts that are tied to the user creating them. He should be able to add/modify/delete these accounts kind of like the theory of how a Google apps administrator manages the accounts for his company (you are a regular user, but also create/destroy other users.)

The subordinate accounts cannot create/modify/delete accounts (except change their own password and normal user behavior.) I'm using the django auth model for all of these accounts. What is a good way to access the auth methods to add/modify/delete accounts from my own custom built webpages without using any admin code?